MVC与node.js:expressjs,backbonejs,railwayjs

我将使用大量的接口为用户构build一个应用程序来插入应该存储在数据库中的数据。 在使用Symfony2之前,我使用PHP开发了应用程序。 现在我想使用node.js,但我不知道如何使用expressjs,backbonejs,railwayjs。 对于应用程序,我需要一个MVC结构,表单validation和一个好的数据库ORM。 我应该使用哪三个? 这些之间的主要区别是什么?

如果你来自像Rails或Symfony这样丰富的框架,那么你的select就是RailwayJS,但是如果你喜欢一些最小的,而且结构不是很好的话,可以使用ExpressJS。

这些之间的主要区别是什么?

RailwayJS是扩展ExpressJS与路由,控制器,本地化,发电机,丰富的日志logging,ORM和其他内置的东西,在expressjs。 但总的来说,你可以像express一样使用它:中间件,快速路由,testing等等。所以你可以使用任何为express / connect编写的中间件,你应该把它放在适当的位置(config / environment.js for通用环境,或configuration/环境/ {开发|生产} .js为env特定的。

Express正在成为Web开发框架的事实上的select。 你完全可以用它做MVC开发,视图是你的模板引擎(例如,玉器),你的ORM提供的模型(如果你使用MongoDB,mongoose是一个很好的select),你的路由处理程序/应用逻辑/中间件是控制器。

Backbone为您的客户端开发提供了MV *结构,因此它是您select的任何服务器端框架或库的补充(并且独立于)。 客户端MVC或MVVM代码组织有很多选项,比如knockout.js和ember.js,但是我个人更喜欢Backbone,它具有更less的魔力,但提供了更多的控制。 虽然这是相对主观的,所以这对于堆栈溢出来说并不是一个相关的争论。