2012-02-17 7 views
5

Ho intenzione di creare un'app utilizzando molte interfacce per l'utente per inserire dati che devono essere memorizzati in un database. Ho sviluppato applicazioni in PHP prima di utilizzare Symfony2. Ora voglio usare node.js ma non sono sicuro di cosa usare expressjs, backbonejs, railwayjs. Per l'applicazione ho bisogno di una struttura MVC, validazione del modulo e un buon database ORM. Quale di queste 3 dovrei usare? Qual è la principale differenza tra questi?MVC con node.js: expressjs, backbonejs, railwayjs

+0

Il nodo ti offre funzionalità, server non bloccante di tipo nameley, che Symfony non ha o vuoi semplicemente farlo in Nodo per il gusto di farlo, ma con un numero sufficiente di helper e librerie e strumenti precostituiti, quindi sembra che lo si stia facendo in Symfony e davvero non si devono affrontare i problemi in Node, come scrivere da soli? – PurplePilot

risposta

5

Se provieni da un framework ricco come Rails o Symfony, la tua scelta è RailwayJS, ma se ti piace qualcosa di minimale e non ben strutturato, usa ExpressJS.

Qual è la principale differenza tra questi

RailwayJS è esteso ExpressJS con routing, i controllori, localizzazione, generatori, ricca di registrazione, ORM e altre cose integrato, proprio sopra expressjs. Ma in generale è possibile utilizzarlo nello stesso modo in cui sono espressi: middleware, percorsi espressi, test, ecc. Così puoi usare qualsiasi middleware scritto per express/connect, dovresti semplicemente metterlo nella giusta posizione (config/environment.js per common env, o config/environments/{development | production} .js per env-specifico

4

Express sta diventando più o meno la scelta di fatto per il framework di sviluppo web. Puoi totalmente fare lo sviluppo di MVC con esso, la vista è il tuo motore di template (jade, per esempio), il modello fornito dal tuo ORM (mangusta è una scelta eccellente se vai con MongoDB), e i tuoi gestori di percorsi/logica app/middleware è il controller.

Backbone fornisce la struttura MV * per lo sviluppo lato client, quindi è complementare (e indipendente da) a qualsiasi framework o libreria lato server che si sceglie. Ci sono molte opzioni per l'organizzazione del codice MVC o MVVM lato client, come knockout.js e ember.js, ma personalmente preferisco Backbone, che ha meno magia ma offre più controllo. Questo è relativamente soggettivo, quindi, questo non è davvero un dibattito rilevante per l'overflow dello stack.