12種JavaScript MVC框架之比較

jopen 12年前發布 | 42K 次閱讀 JavaScript

Gordon L. Hempton 是西雅圖的一位黑客和設計師,他花費了幾個月的時間研究和比較了 12 種流行的 JavaScript MVC 框架,并在博客中總結了每種框架的優缺點,最終的結果是,Ember.js 勝出。

此次比較針對的特性標準有四種,分別是:

  • UI 綁定(UI Bindings)
  • 復合視圖(Composed Views)
  • Web 表現層(Web Presentation Layer)
  • 與其他框架良好協作(Plays Nicely with Others)

對于各種 JavaScript MVC 框架,Gordon 都總結了優缺點:

  1. Backbone.js——優點:強大的社區,強勁的勢頭;缺點:抽象較弱,很多功能亟待增加。
  2. SproutCore——優點:對綁定的支持,可靠的社區,大量特性;缺點:過度規范,難以和不需要的特性解耦。
  3. Sammy.js——優點:易于學習,更容易和現存的服務端應用程序整合;缺點:過于簡單,無法應用于大型應用程序中。
  4. Spine.js——優點:輕量級,文檔很完備;缺點:它的核心概念“spine”是異步的用戶界面,這意味著理想狀況用戶界面永遠不會發生堵塞,而這個基礎有缺陷。
  5. Cappuccino——優點:大型深思熟慮后的框架,良好的社區,很棒的繼承模型;缺點:由 iOS 開發者創建,使用 JavaScript 模擬 Objective-C。
  6. Knockout.js——優點:對綁定的支持,完備的文檔和教程;缺點:綁定語法拙劣,缺少統一的視圖組件層級關系。
  7. Javascript MVC——優點:可靠的社區;缺點:基于字符串的繼承模型很差,控制器與視圖關系過密而缺少綁定。
  8. GWT(Google Web Toolkit)——優點:全面的框架,良好的社區,可靠的基于 Java 的組件繼承模型;缺點:可能無法經受時間的考驗,另外,Java 在客戶端上的抽象有些笨拙。
  9. Google Closure——優點:很好的基于組件的 UI 組合系統。缺點:缺少 UI 綁定支持。
  10. Ember.js——優點:很豐富的模板系統,擁有復合視圖和 UI 綁定;缺點:相對較新,文檔不夠完備。
  11. Angular.js——優點:對模板范圍和控制器設計有很好的考慮,擁有依賴注入系統,支持豐富的 UI 綁定語法。缺點:代碼的模塊性不強,視圖的模塊化也不夠。
  12. Batman.js——優點:代碼清晰,綁定、持久化的方法簡單;缺點:使用了單例控制器。

經過對以上各種 Javascript MVC 框架特性的比較,Gordon 認為只有 Ember.js 能夠完全滿足他的要求,從而成為他最終選用的框架。

你是否也使用過某些 JavaScript MVC 框架呢?歡迎參與討論。

來自: InfoQ

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!