/ / MVC com node.js: expressjs, backbonejs, railwayjs - modelo-view-controller, node.js

MVC com node.js: expressjs, backbonejs, railwayjs - model-view-controller, node.js

Eu estou indo para construir um aplicativo usando um monte deinterfaces para o usuário inserir dados que devem ser armazenados em um banco de dados. Eu desenvolvi aplicações em PHP antes de usar o Symfony2. Agora eu quero usar node.js, mas eu não tenho certeza do que usar expressjs, backbonejs, railwayjs. Para o aplicativo eu preciso de uma estrutura MVC, validação de formulário e um bom banco de dados ORM. Qual destes 3 devo usar? Qual é a principal diferença entre estes?

Respostas:

5 para resposta № 1

Se você vem de um framework rico como o Rails ou o Symfony, a sua escolha é RailwayJS, mas se você gosta de algo mínimo e não bem estruturado, use o ExpressJS.

Qual é a principal diferença entre estes

RailwayJS é estendido ExpressJS com roteamento,controladores, localização, geradores, logging rico, ORM e outras coisas embutidas, logo acima de expressjs. Mas, em geral, você pode usá-lo da mesma forma que express: middlewares, rotas expressas, testes, etc. Então você pode usar qualquer middleware escrito para express / connect, você deve simplesmente colocá-lo no lugar certo (config / environment.js para env comum, ou config / environments / {development | production} .js para env-specific.


4 para resposta № 2

Express está se tornando mais ou menos o de factoescolha para o framework de desenvolvimento web. Você pode fazer o desenvolvimento do MVC com ele, a visualização sendo seu mecanismo de modelagem (jade, por exemplo), o modelo fornecido pelo ORM (mangusto é uma excelente escolha se você for com o MongoDB) e seus manipuladores de rota / lógica de aplicativo / middleware sendo o controlador.

Backbone fornece estrutura MV * para o seudesenvolvimento do lado do cliente, por isso é complementar (e independente de) qualquer estrutura ou biblioteca do lado do servidor que você escolher. Há muitas opções para a organização de código MVC ou MVVM do lado do cliente, como o knockout.js e o ember.js, mas pessoalmente prefiro o Backbone, que tem menos mágica, mas oferece mais controle. Isso é relativamente subjetivo, portanto, isso não é realmente um debate relevante para o estouro de pilha.