12種JavaScript MVC框架之比較
Gordon L. Hempton是西雅圖的一位黑客和設計師,他花費了幾個月的時間研究和比較了12種流行的JavaScript MVC框架,並在部落格中總結了每種框架的優缺點,最終的結果是,Ember.js勝出。
此次比較針對的特性標準有四種,分別是:
- UI繫結(UI Bindings)
- 複合檢視(Composed Views)
- Web表現層(Web Presentation Layer)
- 與其他框架良好協作(Plays Nicely with Others)
對於各種JavaScript MVC框架,Gordon都總結了優缺點:
- Backbone.js——優點:強大的社群,強勁的勢頭;缺點:抽象較弱,很多功能亟待增加。
- SproutCore——優點:對繫結的支援,可靠的社群,大量特性;缺點:過度規範,難以和不需要的特性解耦。
- Sammy.js——優點:易於學習,更容易和現存的服務端應用程式整合;缺點:過於簡單,無法應用於大型應用程式中。
- Spine.js——優點:輕量級,文件很完備;缺點:它的核心概念“spine”是非同步的使用者介面,這意味著理想狀況使用者介面永遠不會發生堵塞,而這個基礎有缺陷。
- Cappuccino——優點:大型深思熟慮後的框架,良好的社群,很棒的繼承模型;缺點:由iOS開發者建立,使用JavaScript模擬Objective-C。
- Knockout.js——優點:對繫結的支援,完備的文件和教程;缺點:繫結語法拙劣,缺少統一的檢視元件層級關係。
- Javascript MVC——優點:可靠的社群;缺點:基於字串的繼承模型很差,控制器與檢視關係過密而缺少繫結。
- GWT(Google Web Toolkit)——優點:全面的框架,良好的社群,可靠的基於Java的元件繼承模型;缺點:可能無法經受時間的考驗,另外,Java在客戶端上的抽象有些笨拙。
- Google Closure——優點:很好的基於元件的UI組合系統。缺點:缺少UI繫結支援。
- Ember.js——優點:很豐富的模板系統,擁有複合檢視和UI繫結;缺點:相對較新,文件不夠完備。
- Angular.js——優點:對模板範圍和控制器設計有很好的考慮,擁有依賴注入系統,支援豐富的UI繫結語法。缺點:程式碼的模組性不強,檢視的模組化也不夠。
- Batman.js——優點:程式碼清晰,繫結、持久化的方法簡單;缺點:使用了單例控制器。
經過對以上各種Javascript MVC框架特性的比較,Gordon認為只有Ember.js能夠完全滿足他的要求,從而成為他最終選用的框架。
你是否也使用過某些JavaScript MVC框架呢?歡迎參與討論。
相關文章
- mysql——ROUND與TRUNCATE函式之比較MySql函式
- 國內外專案管理軟體之比較專案管理
- MVC框架MVC框架
- 四種在Javascript比較物件的方法JavaScript物件
- C語言入門學習記錄(4)之比較運算C語言
- 手寫Spring MVC框架(一) 實現簡易版mvc框架SpringMVC框架
- MVVM與MVC模式的比較MVVMMVC模式
- 解構反應式程式設計——Java8,RxJava,Reactor之比較程式設計RxJavaReact
- JavaScript陣列去重(12種方法,史上最全)JavaScript陣列
- JavaScript中的12種迴圈遍歷方法JavaScript
- 各種富文字/ HTML編輯器和框架比較HTML框架
- MVC、MVP和MVVM以及MVA比較MVCMVPMVVM
- 12周精進計劃(第三週):JQuery(JavaScript框架)jQueryJavaScript框架
- 實現MVC基礎框架MVC框架
- 手寫mini版MVC框架MVC框架
- 乘聯會:2023年上半年四直轄市汽車市場之比較
- Spring Boot + Mybatis + Spring MVC環境配置(四):MVC框架搭建Spring BootMyBatisMVC框架
- C# mvc +axios + web api + javascriptC#MVCiOSWebAPIJavaScript
- Nancy .Net 輕量級mvc框架使用(4)返回資料到頁面的幾種方式NaNMVC框架
- spring mvc 框架搭建及詳解SpringMVC框架
- Spring MVC框架有哪些優點SpringMVC框架
- golang 版本的MVC開發框架GolangMVC框架
- js比較日期 - JavaScriptJSJavaScript
- Django筆記二十四之資料庫函式之比較和轉換函式Django筆記資料庫函式
- [譯] JavaScript 單元測試框架:Jasmine, Mocha, AVA, Tape 和 Jest 的比較JavaScript框架ASM
- mvc原始碼解讀(12)-mvc四大過濾器之ActionFilterMVC原始碼過濾器Filter
- 用純 JavaScript 擼一個 MVC 程式JavaScriptMVC
- 自己寫一個mvc框架吧(五)MVC框架
- DIY 實現 ThinkPHP 核心框架 (一)MVCPHP框架MVC
- 自己寫一個mvc框架吧(四)MVC框架
- 自己寫一個mvc框架吧(二)MVC框架
- 自己寫一個mvc框架吧(一)MVC框架
- 自己寫一個mvc框架吧(三)MVC框架
- Nancy .Net 輕量級mvc框架使用(3)控制器中三種返回方式簡析NaNMVC框架
- 優思學院|什麼是業務流程重組(BPR)?與六西格瑪管理之比較
- .Net Core 3.0 MVC 中使用 SqlSugar ORM框架MVCSqlSugarORM框架
- MVC框架的程式碼審計小教程MVC框架
- 幾種排序的比較排序
- JavaScript與WebAssembly進行比較JavaScriptWeb