自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

三大框架AngularJS、BackboneJS和EmberJS對比

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

***的JavaScript庫是jQuery,它提供了一套JavaScript函數(shù),減少了很多開發(fā)工作。但是jQuery只是一個輔助庫,真正要在前端MVC模式上有大作為的庫,還是要數(shù)下面的三個JavaScript庫:AngularJS、BackboneJS和EmberJS。下面我將對這三個JavaScript庫做對比。

[[135812]]

一、介紹

1、AngularJS

AngularJS是一個開源的JavaScript框架,由Google發(fā)明并負(fù)責(zé)演進(jìn)和維護(hù)。AngularJS基于MVC架構(gòu),目標(biāo)是使得開發(fā)和測試更富有效率、更加容易。AngularJS擴(kuò)展了傳統(tǒng)的HTML代碼,使得動態(tài)內(nèi)容能夠和頁面元素進(jìn)行雙向綁定。AngularJS是一個獨立的框架,這意味著它不依賴于任何別的JavaScript框架。

2、BackboneJS

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

BackboneJS以數(shù)據(jù)為模型,可以對模型進(jìn)行創(chuàng)建、驗證、銷毀、保存到服務(wù)器端等操作。視圖用于顯示模型的狀態(tài),當(dāng)屬性發(fā)生了改變時,能被觸發(fā),視圖可以做出相應(yīng)的反應(yīng),并重現(xiàn)新信息。BackboneJS是在一套最小的數(shù)據(jù)結(jié)構(gòu)(模型和集合)和用戶界面(視圖和URL)原語之間的一個嘗試,對于構(gòu)建JavaScript的Web應(yīng)用非常有用。

3、EmberJS

EmberJS要追述源頭得回到2007年,它源于SproutCore MVC框架,SproutCore框架最初是由SproutIt公司開發(fā),后來由Apple接手并演進(jìn)和維護(hù)。直到2011年,Yehuda Katz(他是jQuery項目和Ruby on Rails項目的核心貢獻(xiàn)者)發(fā)起了EmberJS項目。值得注意的是,EmberJS庫的用戶包括雅虎、Groupon和ZenDesk等互聯(lián)網(wǎng)公司。

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

二、比較

1、社區(qū)

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

2、框架的大小

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

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

3、模板

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

4、靈活性

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

5、學(xué)習(xí)曲線

AngularJS框架的開發(fā)者可以快速構(gòu)建Web應(yīng)用,快速使用雙向綁定,基本上無需學(xué)習(xí)。但是要深入掌握AngularJS框架,就需要學(xué)習(xí)一些專業(yè)術(shù)語,學(xué)習(xí)曲線也比較陡峭。EmberJS框架的學(xué)習(xí)曲線就比AngularJS平滑一些。

BackboneJS框架更容易學(xué)習(xí),但是要掌握它還需學(xué)習(xí)Underscore.js庫。

三、結(jié)論

沒有***的JavaScript框架,只有最適合自己的JavaScript框架。一般來說,AngularJS框架相對更好一些,它發(fā)展最迅猛,更有活力,有龐大的社區(qū)和Google在背后支持。BackboneJS是極簡主義的框架,它體積小、易于學(xué)習(xí)。

***的JavaScript庫是jQuery,它提供了一套JavaScript函數(shù),減少了很多開發(fā)工作。但是jQuery只是一個輔助庫,真正要在前端MVC模式上有大作為的庫,還是要數(shù)下面的三個JavaScript庫:AngularJS、BackboneJS和EmberJS。下面我將對這三個JavaScript庫做對比。

 
責(zé)任編輯:王雪燕 來源: ChinaUnix
相關(guān)推薦

2010-08-11 10:10:17

JavaFXFlexSilverlight

2017-05-05 10:15:38

深度學(xué)習(xí)框架對比分析

2019-08-23 10:10:58

Nginx反向代理防盜鏈

2019-10-31 11:16:57

Web框架Angular

2019-09-28 23:17:41

zabbix運(yùn)維監(jiān)控

2009-06-16 15:33:13

AJAX框架jQueryExt JS

2010-08-06 16:15:57

Flex通信

2010-06-28 13:11:05

2019-12-26 16:21:59

ReactJSAngularJSVue.js

2016-03-17 09:59:40

Apache流計算框架分布式流處理

2024-07-15 08:31:19

2013-05-08 09:54:27

融合架構(gòu)IBMDell

2013-04-10 18:47:57

2021-07-06 11:40:28

Android框架代碼

2012-09-03 09:07:02

云計算云平臺

2009-02-16 17:21:46

2017-09-18 17:34:53

深度學(xué)習(xí)學(xué)習(xí)框架Keras

2023-07-06 14:49:44

PandasPolars語法

2010-01-14 09:57:42

火狐Chrome

2018-06-14 14:07:57

Pythonweb框架
點贊
收藏

51CTO技術(shù)棧公眾號