10個(gè)最熱JavaScript開源框架的社區(qū)活躍度對(duì)比
每個(gè)開源項(xiàng)目都會(huì)有屬于自己的社區(qū),社區(qū)的活躍程度也間接反應(yīng)了該項(xiàng)目的活躍程度如何。本文挑選了目前最火的10個(gè)JavaScript開源框架,不妨來(lái)看看哪個(gè)是最活躍的項(xiàng)目。
社區(qū)能力也是決定JavaScript框架能否被開發(fā)者采納的一個(gè)巨大因素。當(dāng)考慮一個(gè)框架是否滿足項(xiàng)目需要時(shí),開發(fā)者需要考慮哪些因素呢?本文將深入調(diào)查活躍度***的10個(gè)JavaScript框架。本文數(shù)據(jù)來(lái)自O(shè)hloh.net和GitHub。
在過去幾年,大量的UI庫(kù)和框架涌現(xiàn)在開發(fā)者們面前,并且大多數(shù)都是開源的,關(guān)于它們的使用情況以及完整性,網(wǎng)上都有所描述。但人們?cè)谶x擇時(shí),往往忽視了一些指標(biāo),比如強(qiáng)度、社區(qū)能力以及圍繞該開源項(xiàng)目的整個(gè)生態(tài)系統(tǒng),殊不知,這些指標(biāo)都扮演著非常重要的角色。
Top 10項(xiàng)目
我們根據(jù)以上因素,深入社區(qū)挖掘出了當(dāng)今熱門的Top 10開源JavaScript框架,這些框架類型涉及到UI庫(kù)、全棧框架等。這些熱門的項(xiàng)目分別是:
我們會(huì)對(duì)這10個(gè)項(xiàng)目的社區(qū)規(guī)模、增長(zhǎng)情況以及圍繞該項(xiàng)目的整個(gè)生態(tài)系統(tǒng)項(xiàng)目進(jìn)行統(tǒng)計(jì)。
月代碼貢獻(xiàn)量
下面這個(gè)圖表反映了每個(gè)項(xiàng)目,每個(gè)月所有參與者的代碼貢獻(xiàn)量,這也可以直接反映出項(xiàng)目的活躍度。
從上圖可以看出,Ember.js和Google的AngularJS的貢獻(xiàn)量增長(zhǎng) 最快,而作為早期的領(lǐng)跑者SproutCore,從2011年12月開始,貢獻(xiàn)量呈明顯下降趨勢(shì)。除了Ember.js和 AngularJS,Backbone.JS和MeteorJS的貢獻(xiàn)量也不容小覷。
參與項(xiàng)目的貢獻(xiàn)者
統(tǒng)計(jì)項(xiàng)目一直以來(lái)的貢獻(xiàn)者人數(shù),也可以反映出許多問題,比如該項(xiàng)目的治理風(fēng)格,許多項(xiàng)目都是由一些較小的團(tuán)隊(duì)來(lái)打理;當(dāng)然,貢獻(xiàn)者越多,問題修復(fù)速度就越快,文檔可能越全面。
從上圖可以看出,AngularJS和Ember.js的貢獻(xiàn)人數(shù)是最多的,并且近期增長(zhǎng)速度也相當(dāng)快速。
項(xiàng)目的生態(tài)系統(tǒng)
除了貢獻(xiàn)者,基于該庫(kù)所建立的項(xiàng)目以及項(xiàng)目拓展的整個(gè)生態(tài)系統(tǒng)也是社區(qū)力量顯而易見的體現(xiàn)。這也表明,一個(gè)核心的項(xiàng)目并不總是獨(dú)立的,擁有廣泛的生態(tài)系統(tǒng)也是一個(gè)項(xiàng)目成功的關(guān)鍵。
一個(gè)開源項(xiàng)目的健壯性在一定程度的可以從它周圍的項(xiàng)目來(lái)衡量。毫無(wú)疑問,Backbone.JS擁有非常龐大的生態(tài)系統(tǒng),在整個(gè)行業(yè)中的使用范圍也非常廣泛。
全棧解決方案
因?yàn)槿珬=鉀Q方案的適用范圍可能與其他項(xiàng)目不同,所以我們對(duì)其進(jìn)行了單獨(dú)的研究。全棧解決方案包括一個(gè)客戶端框架和服務(wù)器端框架;所涉及的代碼量應(yīng)該更大,隨著時(shí)間推移,參與的貢獻(xiàn)人數(shù)也會(huì)增加。
JavaScript的崛起
越來(lái)越多的開發(fā)者愿意投入時(shí)間和創(chuàng)建結(jié)構(gòu)化方法來(lái)使用JavaScript,下圖顯示了自2011年初,使用該10大框架的開發(fā)者增長(zhǎng)數(shù)。并且也說明了JavaScript正在試圖吞并世界,2013年的平均數(shù)量幾乎是2011年的兩倍。
提交的代碼行數(shù)
圖中可以看出,所有參與項(xiàng)目的貢獻(xiàn)者與所提交的行數(shù)存在一定的差別,這表明這些項(xiàng)目更易于開發(fā)者做出貢獻(xiàn),并且可以進(jìn)行長(zhǎng)期可持續(xù)發(fā)展。
社區(qū)規(guī)模和貢獻(xiàn)者增長(zhǎng)數(shù)量是一個(gè)非常重要的項(xiàng)目指標(biāo)。雖然這些指標(biāo)不能告訴我們整個(gè)故事,但對(duì)開發(fā)者來(lái)說,這些數(shù)據(jù)給他們提供了很好的說明,并且可以反映目前項(xiàng)目的投資情況以及基于其可行性和可持續(xù)性,幫助開發(fā)者做出一些決策,幫助開發(fā)者找到整個(gè)項(xiàng)目周期的臨界點(diǎn)。