与Ruby 相比,NodeJS 有哪些优势

Python020

与Ruby 相比,NodeJS 有哪些优势,第1张

Google JS Runtime 非常快

nodejs 默认 async(异步),有些时候快一些

适合 one page app (比如gmail那样的)我觉得的是更适合ajax所以才这样

语言统一,不用前后台换来换去,都是javascript(有人不喜欢javascript,可以学 coffee script),同时和mongodb结合比较好(相比SQL)。现在有一个MEAN stack: mongodb, express, angular and nodejs,貌似学好了很厉害。

Ruby on Rails优势

成熟,gem很好很多很全(不过nodejs现在用的人越来越多了)

会的人比较多(至少再美国)

学起来相对比nodejs要容易。nodejs的 abstraction(抽象?)比RoR少,还涉及到 callbacks(因为是异步)

移动端可能要求ajax多一些(如果你不做 native app),这个主要是前台设计(个人认为)。如果是点评网站的话,我觉得可能 Ruby on Rails 还是更合适一些。

我最近也在做后端,Python,Ruby,Node 都用了一下,最后选择 NodeJS。

在选择时,Ruby on Rails,Django 第一个出局,因为考虑到 API 应该轻,快。

Python 曾经用过 Flask,考虑过 Bottle。不过两者的 Extensions 的功能都无法需求。

Ruby 的 Sinatra 是最好用的。选择 Sinatra + Mongoid,一个星期可以搞出来(我自己的情况)。

现在选择用 NodeJS 的 ExpressJS + Mongoose 搭配。从 Ruby 转成 Node,主要是因为看上 NodeJS 的性能。Request per Second 的话,NodeJS 7000 左右,ExpressJS 3000 左右,Sinatra 900 左右,Ruby on Rails 300 左右。

我写 JavaScript 都是用 CoffeeScript 写的,所以写起来就像写 Ruby 或 Python 一样,非常 Lisp。

ExpressJS 的开发也是这些框架里面,最活跃的。