10 个最佳的 Node.js 的 MVC 框架 - 开源中国社区
10 个最佳的 Node.js 的 MVC 框架
oschina 2014年02月24日

10 个最佳的 Node.js 的 MVC 框架

oschina oschina 发布于2014年02月24日 收藏 323 评论 33

有免费的MySQL,为什么还要买? >>>  

Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的, 易于扩展的网络应用· Node.js 借助事件驱动, 非阻塞 I/O 模型变得轻量和高效, 非常适合 run across distributed devices 的 data-intensive 的实时应用·

本文介绍 10 个基于 Node.js 的 MVC 框架:

1) A Node.js Framework –  Sails js

Best web framework - sails

2) A Node.js Framework - Total js

Node.js web framework - totaljs

3) A Node.js Framework - Partial js

best node.js web framework - partialjs

4) A Node.js Framework - Koa js

best node.js web framework - kaojs

5) A Node.js Framework - Locomotive js

best node.js web framework - locomotive

6) A Node.js Framework - Express js

best node.js web framework - expressjs

7) A Node.js framework - Flatiron js

flatironjs

8) A Node.js Framework - Express-io

 

best node.js web framework - express.io

9) A Node.js Frameowrk - Socket Stream

socketstreamjs

10) A Node.js Framework - Geddy js

geddyjs

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:10 个最佳的 Node.js 的 MVC 框架
分享
评论(33)
最新评论
0
php 对线程支持有限啊。一个http 请求要并发处理用php就难实现了呀。
0

引用来自“kut”的评论

引用来自“邓攀”的评论

引用来自“kut”的评论

引用来自“邓攀”的评论

引用来自“阳光灿烂的日子”的评论

不看好node.js,事件驱动, 非阻塞 I/O 模型也能做为亮点吗,真想不通,相反,我觉得这是它的缺点

仅仅对付api还是不错的,不过话说回来,仅仅对付api
我觉得纯php不用任何框架,纯php读写数据库输出json也是超级赞的,就是把数据库的连接设置长连接即可。
php的web框架那才是渣渣,耗费资源,个人用过的说
node还真不看好,看好ruby或者python社区撸出一个超级厉害的,
node的渣渣回调语法,谁写谁知道,写多了就是超级大坑而且复杂啰嗦

php不用框架的日子是一个苦逼日子,使用PHP框架,那是快乐的日子。哥还是喜欢穿着衣服跑,不喜欢裸奔。

纯php做api还是很快的,引用框架都是一次性引入庞大的库, 整个路由系统 orm系统(php几乎无orm,但是每一个框架都有类似操作数据库的东西,比如zend 框架的zend db库) 模板系统 等等,引用完了就一次性释放了,这样真的效能很低,开发效率是上去了

但是话说转来,web完整的 网站也不需要那么好的性能了。

但是面对python ruby的web框架,开发速度有的超过php 框架 效能强php框架很多 这样php框架就没什么优势了。。

话说兄台用过那些php框架?我用了zend framework,框架写法跟ruby on rails 还有j2ee很像,就是db操作太渣了,其次就是性能不太好了

框架有大有小,小的用来写api,性能上还是有保证的,大的用来写后台管理之类的,或者一般的网站之类的。其实那么一点点的性能差异并没有想像中那么大不了,主要是架构上做好了,可以横向扩展了,怎么方便就怎么搞。说句实话,rails并不像想象中那么容易扩展,更多的只是一个玩具,而python就更狗屎了,导入即执行的语言特性让我很是抓狂(它无法避免循环导入的弊病)。综合起来,还是PHP比较中庸一些,兼有Java的和脚本语言的特点,大小项目都可以用,关键是你得会怎么用。

还有,讨论框架还在讨论DB的话,呃,我感觉有些意外,DB操作不应该是一个频繁的操作,在我的脑子里一般就是能用就行就可以了。更多的是,这个框架的扩展性怎么样,能不能支撑得起想要实现的非功能性需求所设计的架构,不能,那么就得另换一个,再不行,就自己写,或者像你说的那样,裸奔。

DB操作还真是一个代码集中的地方.这个避开不了的

一个正常的网站,
后台可以简单=db操作+拼接字符串
这个是我的前台给我总结的,我觉得还真是拼接字符串的事情
正常的 项目逻辑不见得有多复杂

db操作等等占了大头
0

引用来自“knightuniverse”的评论

引用来自“邓攀”的评论

引用来自“kut”的评论

引用来自“邓攀”的评论

引用来自“kut”的评论

引用来自“邓攀”的评论

引用来自“阳光灿烂的日子”的评论

不看好node.js,事件驱动, 非阻塞 I/O 模型也能做为亮点吗,真想不通,相反,我觉得这是它的缺点

仅仅对付api还是不错的,不过话说回来,仅仅对付api
我觉得纯php不用任何框架,纯php读写数据库输出json也是超级赞的,就是把数据库的连接设置长连接即可。
php的web框架那才是渣渣,耗费资源,个人用过的说
node还真不看好,看好ruby或者python社区撸出一个超级厉害的,
node的渣渣回调语法,谁写谁知道,写多了就是超级大坑而且复杂啰嗦

php不用框架的日子是一个苦逼日子,使用PHP框架,那是快乐的日子。哥还是喜欢穿着衣服跑,不喜欢裸奔。

纯php做api还是很快的,引用框架都是一次性引入庞大的库, 整个路由系统 orm系统(php几乎无orm,但是每一个框架都有类似操作数据库的东西,比如zend 框架的zend db库) 模板系统 等等,引用完了就一次性释放了,这样真的效能很低,开发效率是上去了

但是话说转来,web完整的 网站也不需要那么好的性能了。

但是面对python ruby的web框架,开发速度有的超过php 框架 效能强php框架很多 这样php框架就没什么优势了。。

话说兄台用过那些php框架?我用了zend framework,框架写法跟ruby on rails 还有j2ee很像,就是db操作太渣了,其次就是性能不太好了

框架有大有小,小的用来写api,性能上还是有保证的,大的用来写后台管理之类的,或者一般的网站之类的。其实那么一点点的性能差异并没有想像中那么大不了,主要是架构上做好了,可以横向扩展了,怎么方便就怎么搞。说句实话,rails并不像想象中那么容易扩展,更多的只是一个玩具,而python就更狗屎了,导入即执行的语言特性让我很是抓狂(它无法避免循环导入的弊病)。综合起来,还是PHP比较中庸一些,兼有Java的和脚本语言的特点,大小项目都可以用,关键是你得会怎么用。

还有,讨论框架还在讨论DB的话,呃,我感觉有些意外,DB操作不应该是一个频繁的操作,在我的脑子里一般就是能用就行就可以了。更多的是,这个框架的扩展性怎么样,能不能支撑得起想要实现的非功能性需求所设计的架构,不能,那么就得另换一个,再不行,就自己写,或者像你说的那样,裸奔。

一句话把rails python黑出翔,rails比任何一个php框架设计好太多,扩展性就呵呵了,哪一个web框架没有全功能 确实没有可以调用其他的,nginx反向代理其中一个需要其他功能的页面到后台的java php 等等项目上,扩展不就是分分钟的事么

ruby不熟悉,问个小白的问题:rails我们能自定义拓展嘛?

扩展什么?
全部都可以的啊
都有很多现成的gem,
即使不用gem都可以自己写一个

web网站项目,
所有框架于我的意义在于
1 mvc,这样我知道多年以后我写的东西在那个controller 那个方法里面,很方便修改而且记得清楚
2 orm,很方便的操作数据库,虽然php的mvc中的model并无orm概念,但是也可以把数据库操作全部放在一起,这样可以复用

所有的 orm中没见过比rails的ActiveRecord更赞的orm了,各种动态方法

ruby我也是不是异常熟悉,不过总有解决方案的
拿你熟悉的东西去拼凑即可
我就拿我用的 很熟悉的php zend framework 后台写一个一个接口比如 127.0.0.1:81/a/yzm 这个去请求一个验证码

然后用nginx的反向代理

代理

localhost/login/yzm到上面去
就是用rails处理逻辑,php产生验证码,至于session共享,那就用数据库的一个session表公用。

看起来不爽,其实扩展就是分分钟的事情
你都可以把你熟悉的各个语言混用在一起,熟悉快速即可
0

引用来自“邓攀”的评论

引用来自“kut”的评论

引用来自“邓攀”的评论

引用来自“kut”的评论

引用来自“邓攀”的评论

引用来自“阳光灿烂的日子”的评论

不看好node.js,事件驱动, 非阻塞 I/O 模型也能做为亮点吗,真想不通,相反,我觉得这是它的缺点

仅仅对付api还是不错的,不过话说回来,仅仅对付api
我觉得纯php不用任何框架,纯php读写数据库输出json也是超级赞的,就是把数据库的连接设置长连接即可。
php的web框架那才是渣渣,耗费资源,个人用过的说
node还真不看好,看好ruby或者python社区撸出一个超级厉害的,
node的渣渣回调语法,谁写谁知道,写多了就是超级大坑而且复杂啰嗦

php不用框架的日子是一个苦逼日子,使用PHP框架,那是快乐的日子。哥还是喜欢穿着衣服跑,不喜欢裸奔。

纯php做api还是很快的,引用框架都是一次性引入庞大的库, 整个路由系统 orm系统(php几乎无orm,但是每一个框架都有类似操作数据库的东西,比如zend 框架的zend db库) 模板系统 等等,引用完了就一次性释放了,这样真的效能很低,开发效率是上去了

但是话说转来,web完整的 网站也不需要那么好的性能了。

但是面对python ruby的web框架,开发速度有的超过php 框架 效能强php框架很多 这样php框架就没什么优势了。。

话说兄台用过那些php框架?我用了zend framework,框架写法跟ruby on rails 还有j2ee很像,就是db操作太渣了,其次就是性能不太好了

框架有大有小,小的用来写api,性能上还是有保证的,大的用来写后台管理之类的,或者一般的网站之类的。其实那么一点点的性能差异并没有想像中那么大不了,主要是架构上做好了,可以横向扩展了,怎么方便就怎么搞。说句实话,rails并不像想象中那么容易扩展,更多的只是一个玩具,而python就更狗屎了,导入即执行的语言特性让我很是抓狂(它无法避免循环导入的弊病)。综合起来,还是PHP比较中庸一些,兼有Java的和脚本语言的特点,大小项目都可以用,关键是你得会怎么用。

还有,讨论框架还在讨论DB的话,呃,我感觉有些意外,DB操作不应该是一个频繁的操作,在我的脑子里一般就是能用就行就可以了。更多的是,这个框架的扩展性怎么样,能不能支撑得起想要实现的非功能性需求所设计的架构,不能,那么就得另换一个,再不行,就自己写,或者像你说的那样,裸奔。

一句话把rails python黑出翔,rails比任何一个php框架设计好太多,扩展性就呵呵了,哪一个web框架没有全功能 确实没有可以调用其他的,nginx反向代理其中一个需要其他功能的页面到后台的java php 等等项目上,扩展不就是分分钟的事么

ruby不熟悉,问个小白的问题:rails我们能自定义拓展嘛?
0
老子用npm install, 试了一下午,一个都安不起,想X人了,
0

引用来自“kut”的评论

引用来自“邓攀”的评论

引用来自“kut”的评论

引用来自“邓攀”的评论

引用来自“阳光灿烂的日子”的评论

不看好node.js,事件驱动, 非阻塞 I/O 模型也能做为亮点吗,真想不通,相反,我觉得这是它的缺点

仅仅对付api还是不错的,不过话说回来,仅仅对付api
我觉得纯php不用任何框架,纯php读写数据库输出json也是超级赞的,就是把数据库的连接设置长连接即可。
php的web框架那才是渣渣,耗费资源,个人用过的说
node还真不看好,看好ruby或者python社区撸出一个超级厉害的,
node的渣渣回调语法,谁写谁知道,写多了就是超级大坑而且复杂啰嗦

php不用框架的日子是一个苦逼日子,使用PHP框架,那是快乐的日子。哥还是喜欢穿着衣服跑,不喜欢裸奔。

纯php做api还是很快的,引用框架都是一次性引入庞大的库, 整个路由系统 orm系统(php几乎无orm,但是每一个框架都有类似操作数据库的东西,比如zend 框架的zend db库) 模板系统 等等,引用完了就一次性释放了,这样真的效能很低,开发效率是上去了

但是话说转来,web完整的 网站也不需要那么好的性能了。

但是面对python ruby的web框架,开发速度有的超过php 框架 效能强php框架很多 这样php框架就没什么优势了。。

话说兄台用过那些php框架?我用了zend framework,框架写法跟ruby on rails 还有j2ee很像,就是db操作太渣了,其次就是性能不太好了

框架有大有小,小的用来写api,性能上还是有保证的,大的用来写后台管理之类的,或者一般的网站之类的。其实那么一点点的性能差异并没有想像中那么大不了,主要是架构上做好了,可以横向扩展了,怎么方便就怎么搞。说句实话,rails并不像想象中那么容易扩展,更多的只是一个玩具,而python就更狗屎了,导入即执行的语言特性让我很是抓狂(它无法避免循环导入的弊病)。综合起来,还是PHP比较中庸一些,兼有Java的和脚本语言的特点,大小项目都可以用,关键是你得会怎么用。

还有,讨论框架还在讨论DB的话,呃,我感觉有些意外,DB操作不应该是一个频繁的操作,在我的脑子里一般就是能用就行就可以了。更多的是,这个框架的扩展性怎么样,能不能支撑得起想要实现的非功能性需求所设计的架构,不能,那么就得另换一个,再不行,就自己写,或者像你说的那样,裸奔。

一句话把rails python黑出翔,rails比任何一个php框架设计好太多,扩展性就呵呵了,哪一个web框架没有全功能 确实没有可以调用其他的,nginx反向代理其中一个需要其他功能的页面到后台的java php 等等项目上,扩展不就是分分钟的事么
0

引用来自“邓攀”的评论

引用来自“se77en”的评论

引用来自“邓攀”的评论

引用来自“阳光灿烂的日子”的评论

不看好node.js,事件驱动, 非阻塞 I/O 模型也能做为亮点吗,真想不通,相反,我觉得这是它的缺点

仅仅对付api还是不错的,不过话说回来,仅仅对付api
我觉得纯php不用任何框架,纯php读写数据库输出json也是超级赞的,就是把数据库的连接设置长连接即可。
php的web框架那才是渣渣,耗费资源,个人用过的说
node还真不看好,看好ruby或者python社区撸出一个超级厉害的,
node的渣渣回调语法,谁写谁知道,写多了就是超级大坑而且复杂啰嗦

已经有generator了好吗

js原生的回调是无法改变的
本性决定
就行python的简洁 java的语法繁琐啰嗦等等,语言创造初始就根植进去了

希望node后面能生于js却能脱胎于js产生一个简单粗暴引爆世界的框架出来

给跪了,generator 就是ES6原生的好吗。。。
0
nodejs
0
用Node.js要习惯异步, 异步代码流程控制是一个难点.
0

引用来自“邓攀”的评论

引用来自“kut”的评论

引用来自“邓攀”的评论

引用来自“阳光灿烂的日子”的评论

不看好node.js,事件驱动, 非阻塞 I/O 模型也能做为亮点吗,真想不通,相反,我觉得这是它的缺点

仅仅对付api还是不错的,不过话说回来,仅仅对付api
我觉得纯php不用任何框架,纯php读写数据库输出json也是超级赞的,就是把数据库的连接设置长连接即可。
php的web框架那才是渣渣,耗费资源,个人用过的说
node还真不看好,看好ruby或者python社区撸出一个超级厉害的,
node的渣渣回调语法,谁写谁知道,写多了就是超级大坑而且复杂啰嗦

php不用框架的日子是一个苦逼日子,使用PHP框架,那是快乐的日子。哥还是喜欢穿着衣服跑,不喜欢裸奔。

纯php做api还是很快的,引用框架都是一次性引入庞大的库, 整个路由系统 orm系统(php几乎无orm,但是每一个框架都有类似操作数据库的东西,比如zend 框架的zend db库) 模板系统 等等,引用完了就一次性释放了,这样真的效能很低,开发效率是上去了

但是话说转来,web完整的 网站也不需要那么好的性能了。

但是面对python ruby的web框架,开发速度有的超过php 框架 效能强php框架很多 这样php框架就没什么优势了。。

话说兄台用过那些php框架?我用了zend framework,框架写法跟ruby on rails 还有j2ee很像,就是db操作太渣了,其次就是性能不太好了

框架有大有小,小的用来写api,性能上还是有保证的,大的用来写后台管理之类的,或者一般的网站之类的。其实那么一点点的性能差异并没有想像中那么大不了,主要是架构上做好了,可以横向扩展了,怎么方便就怎么搞。说句实话,rails并不像想象中那么容易扩展,更多的只是一个玩具,而python就更狗屎了,导入即执行的语言特性让我很是抓狂(它无法避免循环导入的弊病)。综合起来,还是PHP比较中庸一些,兼有Java的和脚本语言的特点,大小项目都可以用,关键是你得会怎么用。

还有,讨论框架还在讨论DB的话,呃,我感觉有些意外,DB操作不应该是一个频繁的操作,在我的脑子里一般就是能用就行就可以了。更多的是,这个框架的扩展性怎么样,能不能支撑得起想要实现的非功能性需求所设计的架构,不能,那么就得另换一个,再不行,就自己写,或者像你说的那样,裸奔。
0

引用来自“kut”的评论

引用来自“邓攀”的评论

引用来自“阳光灿烂的日子”的评论

不看好node.js,事件驱动, 非阻塞 I/O 模型也能做为亮点吗,真想不通,相反,我觉得这是它的缺点

仅仅对付api还是不错的,不过话说回来,仅仅对付api
我觉得纯php不用任何框架,纯php读写数据库输出json也是超级赞的,就是把数据库的连接设置长连接即可。
php的web框架那才是渣渣,耗费资源,个人用过的说
node还真不看好,看好ruby或者python社区撸出一个超级厉害的,
node的渣渣回调语法,谁写谁知道,写多了就是超级大坑而且复杂啰嗦

php不用框架的日子是一个苦逼日子,使用PHP框架,那是快乐的日子。哥还是喜欢穿着衣服跑,不喜欢裸奔。

纯php做api还是很快的,引用框架都是一次性引入庞大的库, 整个路由系统 orm系统(php几乎无orm,但是每一个框架都有类似操作数据库的东西,比如zend 框架的zend db库) 模板系统 等等,引用完了就一次性释放了,这样真的效能很低,开发效率是上去了

但是话说转来,web完整的 网站也不需要那么好的性能了。

但是面对python ruby的web框架,开发速度有的超过php 框架 效能强php框架很多 这样php框架就没什么优势了。。

话说兄台用过那些php框架?我用了zend framework,框架写法跟ruby on rails 还有j2ee很像,就是db操作太渣了,其次就是性能不太好了

0

引用来自“se77en”的评论

引用来自“邓攀”的评论

引用来自“阳光灿烂的日子”的评论

不看好node.js,事件驱动, 非阻塞 I/O 模型也能做为亮点吗,真想不通,相反,我觉得这是它的缺点

仅仅对付api还是不错的,不过话说回来,仅仅对付api
我觉得纯php不用任何框架,纯php读写数据库输出json也是超级赞的,就是把数据库的连接设置长连接即可。
php的web框架那才是渣渣,耗费资源,个人用过的说
node还真不看好,看好ruby或者python社区撸出一个超级厉害的,
node的渣渣回调语法,谁写谁知道,写多了就是超级大坑而且复杂啰嗦

已经有generator了好吗

js原生的回调是无法改变的
本性决定
就行python的简洁 java的语法繁琐啰嗦等等,语言创造初始就根植进去了

希望node后面能生于js却能脱胎于js产生一个简单粗暴引爆世界的框架出来
0

引用来自“邓攀”的评论

引用来自“阳光灿烂的日子”的评论

不看好node.js,事件驱动, 非阻塞 I/O 模型也能做为亮点吗,真想不通,相反,我觉得这是它的缺点

仅仅对付api还是不错的,不过话说回来,仅仅对付api
我觉得纯php不用任何框架,纯php读写数据库输出json也是超级赞的,就是把数据库的连接设置长连接即可。
php的web框架那才是渣渣,耗费资源,个人用过的说
node还真不看好,看好ruby或者python社区撸出一个超级厉害的,
node的渣渣回调语法,谁写谁知道,写多了就是超级大坑而且复杂啰嗦

已经有generator了好吗
0

引用来自“邓攀”的评论

引用来自“阳光灿烂的日子”的评论

不看好node.js,事件驱动, 非阻塞 I/O 模型也能做为亮点吗,真想不通,相反,我觉得这是它的缺点

仅仅对付api还是不错的,不过话说回来,仅仅对付api
我觉得纯php不用任何框架,纯php读写数据库输出json也是超级赞的,就是把数据库的连接设置长连接即可。
php的web框架那才是渣渣,耗费资源,个人用过的说
node还真不看好,看好ruby或者python社区撸出一个超级厉害的,
node的渣渣回调语法,谁写谁知道,写多了就是超级大坑而且复杂啰嗦

php不用框架的日子是一个苦逼日子,使用PHP框架,那是快乐的日子。哥还是喜欢穿着衣服跑,不喜欢裸奔。
0

引用来自“chility”的评论

用这个写网站很爽,前台、后台、数据库都是JS(mongodb),前台与后台交互、后台与数据库交互没什么跨域

其他语言操作mongodb也是一样的简单
而且对于网站来说mongodb真的不一定有优势,碰到事物操作等等麻烦到了,mysql postgresql靠谱多了
后台跟前台本来做项目就是分开的,没必要一个人一次性做完
0

引用来自“阳光灿烂的日子”的评论

不看好node.js,事件驱动, 非阻塞 I/O 模型也能做为亮点吗,真想不通,相反,我觉得这是它的缺点

仅仅对付api还是不错的,不过话说回来,仅仅对付api
我觉得纯php不用任何框架,纯php读写数据库输出json也是超级赞的,就是把数据库的连接设置长连接即可。
php的web框架那才是渣渣,耗费资源,个人用过的说
node还真不看好,看好ruby或者python社区撸出一个超级厉害的,
node的渣渣回调语法,谁写谁知道,写多了就是超级大坑而且复杂啰嗦
0
mark
0
马克
0
mark
0

引用来自“阳光灿烂的日子”的评论

不看好node.js,事件驱动, 非阻塞 I/O 模型也能做为亮点吗,真想不通,相反,我觉得这是它的缺点

为什么这么说呢?我觉得时间驱动,非阻塞I/O很好了。起码大大提高了单线程的并发能力。有点异步基础的话也挺好上手。就连JVM上也推出了Vert.x比nodejs更牛的事件驱动编程模型。
顶部