javascript:12種JavaScript MVC架構之比較

來源:互聯網
上載者:User

標籤:layer   學習   繼承   解耦   流行   ram   文法   spin   ntc   

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架構呢?歡迎參與討論。

javascript:12種JavaScript MVC架構之比較

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.