ruby nodejs效率區別大嗎?
02-08
個人開發類似大眾點評的網站,含移動客戶端。哪種需要比較好呢?
一般選擇框架時需要考慮很多問題,以下是我和其他coding夥伴的考慮(結合這個問題具體問題):
- 哪個熟悉
- 使用的人有多少?(documentation 和 package (library/gem) 有多少/好,問題有沒有人回答)
- 把具體的好壞列出來一個一個和自己的需求比
具體針對nodejs有幾點優勢
- 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 還是更合適一些。
如果你是說運行的時候的效率,nodejs比ruby高。
如果你是說開發效率,ruby比nodejs高。
rubyrails:處理web界面部分ejabberd(基於erlang的xmpp伺服器)+bosh:用來處理實時部分grape(api)+goliath(api伺服器,目測和nodejs的效率在一個級別):處理app的api
capistrano+passenger+apache/nginx(部署首選)
如果能到百萬級別如果不在乎js語法用node吧,node塊
補充一下,ruby的框架並不止rails 一種,ruby != rails。
用現在的觀點看rails算比較笨重的框架,雖然有編寫比較快的優勢但是但是運行起來是比較慢的。ruby本身是性能不錯的,特別是最近2.1版本性能提升很客觀,而且輕量級的ruby框架比如sinatra也是速度相當快的。總結下,如果ruby玩得順,其實並不會比node差多少。
node不做評論。沒啥區別,哪個熟用哪個。
這個問題的目的是什麼?背景上下文…
推薦閱讀:
※Ruby 語言有哪些缺陷?
※ruby on rails 不如原來流行了嗎?為什麼?
※Ruby語言到底前景怎麼樣?
※從零開始學習 Ruby,該如何做?
※怎麼樣更好地理解 Rails 的源碼?
TAG:Ruby | RubyonRails |