V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wolfdolf
V2EX  ›  Node.js

与 RoR 相比,NodeJS 有啥优势?

  •  
  •   wolfdolf · 2015-03-20 06:01:48 +08:00 · 5275 次点击
    这是一个创建于 3569 天前的主题,其中的信息可能已经有所发展或是发生改变。
    NodeJS是否具有更高的开发优势呢?
    Node和RoR,哪个门槛更高?
    8 条回复    2015-03-20 17:08:42 +08:00
    wdhwg001
        1
    wdhwg001  
       2015-03-20 06:52:22 +08:00 via iPhone
    快.
    blacktulip
        2
    blacktulip  
       2015-03-20 07:17:41 +08:00
    Rails 是后端框架,Node 是语言实现,根本不是一种东西,没什么比头。楼主是要对比 Rails 和 基于 Node 的框架么?Sails ? Meteor ?
    coolicer
        3
    coolicer  
       2015-03-20 08:43:06 +08:00
    js系,可以做网站,app之类
    otakustay
        4
    otakustay  
       2015-03-20 10:55:54 +08:00
    1. Node的优势在性能
    2. Rails要比也是找个框架比,Node也有不少框架是仿Rails的
    3. JS并不是一个优势,从语言来说JS是一门非常烂的语言
    chaucerling
        5
    chaucerling  
       2015-03-20 12:25:26 +08:00
    喜欢异步到底就用nodejs,不喜欢就学ruby用RoR
    wolfdolf
        6
    wolfdolf  
    OP
       2015-03-20 12:54:59 +08:00
    @blacktulip Meteor 比rails强大么? koa, express和ror中的什么对应呢?
    shen0100
        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和教程都很完善的,上手应该没有压力。
    heeroz
        8
    heeroz  
       2015-03-20 17:08:42 +08:00
    node.js的回调太恶心了,还是用lua的协程吧,什么时候openresty上台啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3580 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 04:35 · PVG 12:35 · LAX 20:35 · JFK 23:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.