什麼是最優秀的JavaScript框架?Angular or Backbone?

ourjs發表於2014-04-25

  Aaron O'Connell 在Hack News上發表了一篇文章: 我用Backbone做了一個類似Angular嚮導(Tutorial)的程式,然後增加了260%的程式碼。(I Coded the Angular Tutorial App in Backbone and it Took 260% More Code)

AngularJS的人用48行JavaScript程式碼建立了PhoneCat的體驗程式。然後我們使用Backone建立相同的程式,我們發現我們使用了171行程式碼——程式碼量增加了260%。下面,我們會把Backbone建立的體驗程式一步一步貼出來。
前一段時間,我決定去體驗一下Angular,因為每個人都在談論它。我進到了Angular的官網,然後嘗試了一下他們的神奇的體驗教程。我看到了Angular的優點,然後我想,如果我使用backbone編寫相同的程式可能只需要增加一點點程式碼 —— 一點繫結還有回撥就可以了,對吧?
然而,我錯了。在使用Backbone重寫Angular Tutorial後,我發現增加了非常多的程式碼,花在很多小地方。我想我可以分享我的Backbone版本,通過一步一步的教程,來更好的比較Angular和Backbone. 

  這其實是一篇很好的Backbone教程。看來作者是比較喜歡AngularJS的,不過有人也提出了異議:

  By freyr

Angular Tutorial應用是一個極好的現成的Angular展示應用。實際上,它是被精確設計用來展現Angular的非凡特性。Angular減少了痛苦,但是一個更加複雜,更固執己見的框架。你寫更少模板的代價就是當你為了適應你的特殊需求時,你需要增加更多的更復雜的程式碼。
這是一個非常重要的權衡(需要嗎?)。想想Rails vs. Sinatra or Django vs. Flask. Django 給你一個很大的現成的後端庫,完全能滿足你現在的工作。但是我不想用Django去寫一個非典型的專案,我會選一個更小一些的框架,像Flask.

我看Angular的角度是,我真的不想深入地去研究這種框架,因為複雜度太高了。Backbone只是一種更小的,模組化的,有詳細文件的庫,它邀請你去了解它的工作原理。如果Angular不能滿足我的專案,如果Backbone在工具箱裡的話我會非常高興,我知道這些多寫的模板會輔平下面的道路。是的,它們迫使我去更好的組織我程式的架構,這不是一件壞事情。

  Cthulhu_

這篇文章沒有提到的是Angular大概是800Kb左右(未壓縮,壓縮後 ~200K, 包括一些模組), 對比 Backbone的 大約~60K(未壓縮, 壓縮後20K)。如果我算的對的話,

  原文:news.ycombinator.com

相關文章