三大JavaScript框架對比——AngularJS、BackboneJS和EmberJS

如果有心搜索的話,你能找出上百種JavaScript框架。當我們要開發一個現代化的、敏捷酷炫的網站時,JavaScript是必備的基礎技術。那麼問題來了,如何在這麼多JavaScript框架中選取最能滿足我們需求的框架?這是一個難題。而且還有很多挑戰,比如要讓網站在不同的客戶端瀏覽器上表現出一致的行爲和外觀,這也很不容易。選擇最適合的JavaScript庫來輔助我們的開發,簡化開發難度和減少開發耗時。

最流行的JavaScript庫是jQuery,它提供了一套JavaScript函數,減少了很多開發工作。但是jQuery只是一個輔助庫,真正要在前端MVC模式上有大作爲的庫,還是要數下面的三個JavaScript庫:AngularJS、BackboneJS和EmberJS。cctv5在線直播,下面我將對這三個JavaScript庫做對比。

一、介紹

1、AngularJS

AngularJS是一個開源的JavaScript框架,由Google發明並負責演進和維護。AngularJS基於MVC架構,目標是使得開發和測試更富有效率、更加容易。AngularJS擴展了傳統的HTML代碼,使得動態內容能夠和頁面元素進行雙向綁定。AngularJS是一個獨立的框架,這意味着它不依賴於任何別的JavaScript框架。

2、BackboneJS

BackboneJS是一個開源的、輕量級的MVC框架。它誕生於2010年,發展的非常迅速,很快就成長爲一種替代笨重的、全功能MVC架構(比如ExtJS)的JavaScript框架。這使得很多國外互聯網公司開始採用它來構建自己的應用服務。比如Pinterest、Flixster、AirBNB等公司。BackboneJS庫提供了一種鍵值綁定、自定義事件的模型,使得Web應用富有結構化,而且還有一套帶枚舉函數和視圖的豐富API的集合。BackboneJS庫可以通過RESTful風格的JSON接口來連接你現有的API。BackboneJS庫依賴於Underscore.js庫。

BackboneJS以數據爲模型,可以對模型進行創建、驗證、銷燬、保存到服務器端等操作。視圖用於顯示模型的狀態,當屬性發生了改變時,能被觸發,視圖可以做出相應的反應,並重現新信息。BackboneJS是在一套最小的數據結構(模型和集合)和用戶界面(視圖和URL)原語之間的一個嘗試,對於構建JavaScript的Web應用非常有用。

3、EmberJS

EmberJS要追述源頭得回到2007年,它源於SproutCore MVC框架,SproutCore框架最初是由SproutIt公司開發,後來由Apple接手並演進和維護。直到2011年,Yehuda Katz(他是jQuery項目和Ruby on Rails項目的核心貢獻者)發起了EmberJS項目。值得注意的是,EmberJS庫的用戶包括雅虎、Groupon和ZenDesk等互聯網公司。

EmberJS允許開發者創建可擴展的單頁Web應用。它提供了一套豐富的Handlebars.js庫,功能包括:提供了對象模型、聲明式的兩路數據綁定、可計算的屬性、自動化更新的模板,還提供了一個路由器來管理應用程序的狀態。

二、比較

1、社區

選擇框架的一個重要因素是框架社區的規模和開發者的數量和活躍度。三者相比,AngularJS社區規模最大、發展更快、社區也最有活力。而且AngularJS在GitHub的跟隨者也更多,在StackOverflow的問答也更多。

2、框架的大小

頁面加載時間是Web應用成功的關鍵因素之一。用戶需要能快速地訪問信息,影響頁面加載時間的兩個因素:JavaScript框架的大小和啓動它所需的時間。

比較這三個框架的壓縮版:AngularJS 1.2版有105KB,EmberJS 1.9.1版有97KB,BackboneJS 1.1.2版有65KB。但是,315直播,AngularJS框架無任何依賴,BackboneJS框架依賴於Underscore.js庫(52KB),EmberJS框架和BackboneJS框架通常需要jQuery庫(82KB)來簡化操作。因此,AngularJS框架的大小纔是真正最小的。

3、模板

AngularJS框架和EmberJS框架都包含了一個模板引擎。而BackboneJS框架無模板引擎,開發者需要選擇一個第三方模板引擎集成到項目中。當然,對於BackboneJS框架來說,Underscore.js庫就包含了模板引擎,可以用它。

4、靈活性

有很多JavaScript插件可以完成很多專門的工作。這是非常有用的,因爲每一種框架都無法做到面面俱到。所以,對於框架來說,支持插件、支持擴展就很重要了。三者相比,BackboneJS框架是最靈活的框架,因爲它的約定最少,開發者在使用時可以自己做很多決定。EmberJS框架和AngularJS框架在某種程度上來說是靈活的,但不夠靈活。

5、學習曲線

AngularJS框架的開發者可以快速構建Web應用,快速使用雙向綁定,基本上無需學習。但是要深入掌握AngularJS框架,就需要學習一些專業術語,學習曲線也比較陡峭。EmberJS框架的學習曲線就比AngularJS平滑一些。

BackboneJS框架更容易學習,但是要掌握它還需學習Underscore.js庫。

三、結論

沒有最好的JavaScript框架,只有最適合自己的JavaScript框架。一般來說,AngularJS框架相對更好一些,它發展最迅猛,更有活力,有龐大的社區和Google在背後支持。BackboneJS是極簡主義的框架,它體積小、易於學習。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章