什麼是最優秀的JavaScript框架?Angular or Backbone?
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)。如果我算的對的話,
相關文章
- 什麼是框架?為什麼說 Angular 是框架?框架Angular
- JavaScript MVC框架PK:Angular、Backbone、CanJS與EmberJavaScriptMVC框架AngularJS
- 10 個優秀的JavaScript開發框架JavaScript框架
- 優秀的Java程式測試是什麼樣的?Java
- 20款最優秀的JavaScript編輯器JavaScript
- 優秀開發者的最缺的技能是什麼?前微軟工程師說:好的文筆!微軟軟工工程師
- 什麼是 Angular 的 API Extractor?AngularAPI
- OpenAI是什麼 OpenAI有哪些優秀產品OpenAI
- 是什麼造就了優秀的開發者/工程師文化?工程師
- 什麼是模式? 什麼是框架?模式框架
- 為什麼 Laravel 這麼優秀Laravel
- 優秀的開發和測試人員是什麼樣的?
- 20個2014年最優秀的PHP框架PHP框架
- 在矽谷面試:如何證明你是最優秀的?面試
- 什麼是框架框架
- 優秀PHP優秀框架Laravel和Yii的詳解PHP框架Laravel
- 什麼是JavaScript?JavaScript
- 軟體設計是怎樣煉成的(1)——什麼是優秀的設計?
- 對laravel框架你瞭解多少,為什麼說是優雅的框架Laravel框架
- 20個2014年最優秀的國外PHP框架PHP框架
- 推薦10款優秀的JavaScript Web UI庫 框架和套件JavaScriptWebUI框架套件
- HTML中的框架是什麼?HTML框架
- 27款優秀的CSS框架CSS框架
- 20個優秀的前端框架前端框架
- 你是世界上最優秀的開發人員嗎?
- 你知道Laravel為什麼會成為最優雅的PHP框架嗎?LaravelPHP框架
- 怎麼使用路由框架Fluro?Flutter的這個框架太優秀了!路由框架Flutter
- 是什麼讓資料分析師變得優秀?- Cassie Kozyrkov
- 什麼是 RUM JavaScriptJavaScript
- JavaScript是什麼鬼?JavaScript
- [譯] JavaScript中的“this”是什麼?JavaScript
- 什麼是 JavaScript 世界的 UMDJavaScript
- 田永強:優秀的JavaScript模組是怎樣煉成的JavaScript
- Redux作者會是優秀的魔術師麼?Redux
- 什麼是 Angular Ngrx Store 裡的 Meta-ReducerAngular
- 什麼是 Angular Ivy Partial compilation modeAngular
- Backbone前端框架解讀前端框架
- 20款最優秀的JavaScript編輯器 哪家強你說了算!JavaScript