什麼是最優秀的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
- 什麼是 Angular 的 API Extractor?AngularAPI
- OpenAI是什麼 OpenAI有哪些優秀產品OpenAI
- Backbone前端框架解讀前端框架
- 為什麼 Laravel 這麼優秀Laravel
- 優秀PHP優秀框架Laravel和Yii的詳解PHP框架Laravel
- 什麼是 Angular library 的 secondary entry points?Angular
- android 優秀框架整理Android框架
- 什麼是JavaScript?JavaScript
- 什麼是框架框架
- 對laravel框架你瞭解多少,為什麼說是優雅的框架Laravel框架
- 怎麼使用路由框架Fluro?Flutter的這個框架太優秀了!路由框架Flutter
- 是什麼讓資料分析師變得優秀?- Cassie Kozyrkov
- 什麼是 Angular Ivy Partial compilation modeAngular
- 你知道Laravel為什麼會成為最優雅的PHP框架嗎?LaravelPHP框架
- MyBatis--優秀的持久層框架MyBatis框架
- Redux作者會是優秀的魔術師麼?Redux
- 什麼是 JavaScript 世界的 UMDJavaScript
- [譯] JavaScript中的“this”是什麼?JavaScript
- 滿足使用者需求的優秀軟體的關鍵是什麼 - macerubMac
- 怎麼做優秀前端工程師 Web前端學習路線是什麼前端工程師Web
- 什麼是 RUM JavaScriptJavaScript
- Python中Django是什麼?Django框架優點有哪些?PythonDjango框架
- Google裁掉了最優秀的員工Go
- 此程式碼募集最優秀的答案
- 什麼是 Angular 的 banana-in-a-box detection 機制AngularNaN
- 什麼是 Angular Ngrx Store 裡的 Meta-ReducerAngular
- 同樣是程式設計師,為什麼別人比你更優秀?程式設計師
- JavaScript的註釋格式是什麼JavaScript
- javascript中null是什麼JavaScriptNull
- javascript函子是什麼JavaScript
- 什麼是JavaScript類庫JavaScript
- DRBD是什麼意思?優缺點是什麼?
- 什麼是海外伺服器?它的優點是什麼?伺服器
- 關於什麼是框架框架
- 什麼是Spring Framework 框架?SpringFramework框架
- 面試官問:你對laravel 框架了解多少,為什麼說是優雅的框架?面試Laravel框架
- 為什麼 JavaScript 是 TypeScript 的基礎JavaScriptTypeScript
- 國內優秀MES開源框架框架