Ce framework folositi pentru crearea de aplicatii web cu node.js?

M-ar interesa un framework MVC pentru crearea de aplicatii web cu node.js, ceva similar cu Laravel pentru PHP, m-am uitat pe net si am gasit mai multe optiuni, dintre care mi-a atras atentia:
Sleek.js

Framework-ul în care am dezvoltat cel mai rapid ceva: Meteor. Realtime included by default.

2 Likes

Am folosit in trecut hapi.js acum folosesc koa.js, ce vrei sa dezvolti?

P.S. - framework-urile sunt modulare, nu sunt MVC by default

1 Like

Ma intereseaza un framework pentru a dezvolta rapid aplicatii web in node.js, Meteor suna promitator, de hapi.js am citit ca e folosit la crearea de servicii rest in node.js.

Am rulat exemplele TODO APP Build your first Meteor app, impresionant.

2 Likes

http://sailsjs.org

1 Like

Atentie cand folositi un framework, uitati-va pe github la numarul de Open Issues, daca este 100+, din experienta mea, va veti lovi de unele din problemele de acolo.

Am un amic a inceput un proiect folosing Sails.js si s-a lovit de ceva probleme, Sails are ~260 open issues.

1 Like

Rails are 373. Oricum lasand la o parte argumentul cu open issues, SailsJS este inca young - but then again aparent totul in lumea node este young 0.0.0.0.0.0.0.1 :sunny: < /joke>

1 Like

Am folosit loopback - http://loopback.io/ - si developmentul cu el a decurs rapid.

Are si un comparison table aici - http://loopback.io/resources/.

Chiar il recomand, insa acum prefer ceva mai low level (desi loopback e facut pe express).

Insa nu cred ca poti da gresi nici cu hapi, barebone express.js, sau sails, insa conteaza ori sa folosesti un boilerplate care vine cu niste conventii ok (exemplu: http://meanjs.org/), ori sa iti construiesti tu un framework bun bazat pe modulele de care ai nevoie.

1 Like

Open issues o sa fie tot timpul, idea ar fi sa te uiti sa vezi cam cata activitate este (commit often)
si cantitatea de breaking changes
Personal, am imbatranit, prefer LTS mai mult ca new features :smile:

2 Likes

Meteor.js e destul de usor dar am facut deploy direct la meteor in cloud, ma intreb cum o fii sa faci deploy la tine pe VPS, citisem ca vine cu un tool de conversie in aplicatie node.js, nu am testat si nici nu cred ca as avea incredere intr-un asemenea tool.

Uite aici o lista cuprinzatoare - http://nodeframework.com/

1 Like

Rails like =))

@navaru m-am uitat pe hapi mai amanuntit si nu e doar pentru servicii rest cum crezusem initial poti face aplicatii web complete, koa mi se pare neinteligibil la prima vedere dar poate pe viitor se mai schimba treburile.

Daca te prinde conceptul cu coroutines o sa-ti placa Koa.

var fs = require('fs')
var co = require('co')
var thunkify = require('thunkify')

// create yieldables from normal callback style functions
var read = thunkify(fs.readFile)
var write = thunkify(fs.writeFile)

// run coroutine
co(function * () {
  // read from a file
  var file = './file.txt'
  var content = yield read(file, 'utf8') // <- asynchronous call

  // modify content
  content = content.replace('Hello', 'Ola')

  // write back to file
  yield write(file, content) // <- asynchronous call

  // look ma' no callbacks & no hell ;)
})

Orice functie callback style o poti transforma in thunk.

Exemplul de mai sus folosind module Promise based (coroutine friendly), no callbacks and easy to read:

var fs = require('sander')
var co = require('co')

co(function * () {
  var file = './file.txt'
  var content = yield fs.readFile(file,  { encoding: 'utf-8' })

  content = content.replace('Hello', 'Ola')

  yield fs.writeFile(file, content)
})
3 Likes

Meteor are comanda lui internă, meteor build, ca să transformi aplicația în node.js. Nu ai nevoie de tool-uri third party.
Eu am deployat 5 aplicații scrise pe meteor în ultimii ani, all good.

1 Like