1
wdhwg001 2015-03-20 06:52:22 +08:00 via iPhone
快.
|
2
blacktulip 2015-03-20 07:17:41 +08:00
Rails 是后端框架,Node 是语言实现,根本不是一种东西,没什么比头。楼主是要对比 Rails 和 基于 Node 的框架么?Sails ? Meteor ?
|
3
coolicer 2015-03-20 08:43:06 +08:00
js系,可以做网站,app之类
|
4
otakustay 2015-03-20 10:55:54 +08:00
1. Node的优势在性能
2. Rails要比也是找个框架比,Node也有不少框架是仿Rails的 3. JS并不是一个优势,从语言来说JS是一门非常烂的语言 |
5
chaucerling 2015-03-20 12:25:26 +08:00
喜欢异步到底就用nodejs,不喜欢就学ruby用RoR
|
6
wolfdolf OP @blacktulip Meteor 比rails强大么? koa, express和ror中的什么对应呢?
|
7
shen0100 2015-03-20 14:57:49 +08:00
首先,普及一下背景知识: RoR的全称是Ruby on Rails,其中Ruby是语言,on Rails是基于Ruby的比较全面的框架。Ruby也有很多其它更轻量的框架,比如Sinatra。
相比较而言,NodeJS可以认为是基于JS运行环境的平台, 属于语言以上,框架以下。基于NodeJS有很多自己的框架,而且很多都有借鉴Ruby的框架,比如Express是借鉴(inspired by) Sinatra, 而Sails是借鉴RoR。 回到正题,NodeJS和Ruby的框架在根源上的不同,在于语言属性的不同。JS是单线程的异步语言,而Ruby是支持多线程。在互联网的角度来看,单线程异步的优势在Nginx和Tornado上都体现的很明显了,不再赘述。另外前后端如果都用JS的话,开发人员效率会比较高,起码不用背好几本语法文档。最后就是NodeJS里有一枚利器,叫Socket.io,所以基本需要实时同步的(类似Web QQ)的应用,NodeJS是不二之选 (当然用Scala,Go等大神可以无视了)。 总的来说,如果是传统的网站应用,比如CMS,CRM啊,电商啊,RoR会更适合一些;比较新颖的,对移动端用户支持更好的,NodeJS可能会更好一些。当然也有很多例外,因为归根到底,用自己最熟悉的语言才是王道。等项目做大了,各种技术再加入都来得及。 至于门槛啊...学两周,然后花一个月做个项目就算入门了,所以都不高。至于后面的修炼就看个人的悟性了。 P.S. 提到了Meteor,其实还有些类似的比如Derby,都是很新颖的基于NodeJS的框架,适用于对实时性要求极高的项目。由于不使用MVC结构,学起来可能会有点挑战,不过Meteor API和教程都很完善的,上手应该没有压力。 |
8
heeroz 2015-03-20 17:08:42 +08:00
node.js的回调太恶心了,还是用lua的协程吧,什么时候openresty上台啊
|