排名前5的JavaScript框架:趨勢和前景
每年,科技行業(yè)都在快速發(fā)展。基于受歡迎程度及其全面性,出現(xiàn)了不同的趨勢。去年興起的技術(shù)趨勢今年可能甚至不存在。因此,當(dāng)我們應(yīng)對如此迅速變化的生態(tài)系統(tǒng)時(shí),了解行業(yè)趨勢至關(guān)重要。
本文的目的不是建議比較好的框架或庫。 相反,我將研究這些的過去,現(xiàn)在和將來,以便您可以為將來的項(xiàng)目做出有效的決策。 此外,其中大多數(shù)可能會在未來幾年出現(xiàn)在我們中間。
我將基于以下事實(shí)對一些JavaScript框架進(jìn)行比較。
- 保持增長并保持最新狀態(tài)-可能在可預(yù)見的將來也將得到保持。
- 根據(jù)一些可靠的網(wǎng)站,例如GitHub,NPM趨勢,Google趨勢等,被認(rèn)為很受歡迎。)
- 周圍有一個(gè)活躍的社區(qū)。
1. React.js —飛速使用

> Source: reactjs.org
React.js是一個(gè)開放源代碼的前端庫,由一組Facebook開發(fā)人員于2011年創(chuàng)建。經(jīng)過9年的發(fā)展,它被認(rèn)為是很受歡迎的前端庫之一。它于2013年成為開源。
React為前端開發(fā)引入了基于組件的,反應(yīng)性的,功能性的編程風(fēng)格,從而改變了單頁應(yīng)用程序的發(fā)展方向。
為什么React如此受歡迎?
好吧,它具有一些令人興奮的功能。
- React引入了基于組件的呈現(xiàn)機(jī)制,該機(jī)制無需更改其數(shù)據(jù)即可在頁面上重新加載組件。React提供了僅重新渲染接收到新數(shù)據(jù)的組件的功能。
- 它提供了優(yōu)質(zhì)的服務(wù)器端渲染(SSR),并具有大量的SEO支持。
- 正如我們所說的,正在為React開發(fā)新的功能,包括實(shí)現(xiàn)更好的并發(fā)性的React Fiber,使用更少的樣板代碼來管理功能組件的React鉤子,用于更好的呈現(xiàn)的React懸念等。因此,React的發(fā)展相當(dāng)快。
- 一旦學(xué)習(xí)了React,就可以在任何地方使用它,不僅可以用于Web應(yīng)用程序,還可以用于移動(dòng)應(yīng)用程序(React Native)。
同樣,許多其他功能使React.js成為當(dāng)今很受歡迎的庫之一。NPM趨勢甚至證明了這一事實(shí)。讓我們看一下React在過去5年與其他框架相比的發(fā)展趨勢。

> Source: NPM Trends
如您所見,在過去的5年中,React.js在下載方面顯然一直統(tǒng)治著前端框架。
就Stackoverflow趨勢而言,React.js也會取代其他流行的框架。

> Source: Stack Overflow Trends
提示:使用Bit(Github)在項(xiàng)目之間共享可重用組件。 Bit使共享,記錄和組織來自任何項(xiàng)目的獨(dú)立組件變得簡單。
使用它可以很大程度地重復(fù)使用代碼,在獨(dú)立組件上進(jìn)行協(xié)作以及構(gòu)建可擴(kuò)展的應(yīng)用程序。
Bit支持Node,TypeScript,React,Vue,Angular等。

> Example: exploring reusable React components shared on Bit.dev
2. Vue.js —令人贊嘆的174K GitHub星!

> Source: vuejs.org
Vue.js是由前Google工程師Evan You結(jié)合AngularJS(視圖層)的積極特性和React(虛擬DOM)的積極特性而創(chuàng)建的。這是最容易學(xué)習(xí)的前端框架之一,開發(fā)人員可以使用Vue.js非常有效地實(shí)現(xiàn)SPA。由于這個(gè)原因,這在開發(fā)人員中變得非常流行。
與其他框架相比,Vue.js在GitHub上獲得的星級數(shù)量更加明顯。

> Source: Star History

> Source: NPM Trends
根據(jù)以上關(guān)于NPM趨勢的統(tǒng)計(jì),Vue擁有173,615個(gè)GitHub星,甚至比React高。 這證明了Vue.js是當(dāng)今非常流行的框架。
兩全其美的
Vue.js的某些功能使其迅速流行。他們之中有一些是,
- Vue.js允許進(jìn)行漸進(jìn)式Web應(yīng)用程序開發(fā)。
- 它提供類似于AngularJS和Virtual DOM的雙向數(shù)據(jù)綁定,以及類似于React的事件源。
- 對JavaScript和TypeScript具有同等支持。
在過去的幾年中,Vue的受歡迎程度有所提高。

> Source: NPM Trends
由于我們在談?wù)撋鲜隹蚣軙r(shí)遇到了Angular,因此讓我們看一下它的受歡迎程度。
3. Angular-完整的框架

> Source: Angular PRESSKIT
Google在2016年推出了Angular。但是,它的前身AngularJS可以追溯到2010年。在早期,React的流行將Angular甩在后面。但是,Angular發(fā)現(xiàn)其利基市場已成為一種可靠且可靠的企業(yè)級框架。
其受歡迎的原因?
由于一些原因,AngularJS仍然很受歡迎。
- 它擁有一個(gè)維持了十多年的大型生態(tài)系統(tǒng)。
- 它具有全套工具。
- 允許以干凈的編碼結(jié)構(gòu)和代碼一致性生成高質(zhì)量代碼。
- 擁有出色的文檔,其庫為開發(fā)人員提供了大量支持
- 日益增加的社區(qū)支持。
如果將Angular與React進(jìn)行比較,可以觀察到Angular的下載量并沒有增加太多。 沒有 的下載量在過去兩年中幾乎達(dá)到飽和水平。

> Source: NPM Trends
4. Ember.js —提高開發(fā)人員的生產(chǎn)力

> Source: emberjs.com
Ember.js是眾所周知的構(gòu)建現(xiàn)代Web應(yīng)用程序的流行JavaScript框架。 它是一個(gè)功能全面的框架,允許開發(fā)人員將更多精力放在創(chuàng)建獨(dú)特的功能上。 由于避免了編寫繁瑣的代碼,這將提高開發(fā)人員的生產(chǎn)率。 在過去的幾年中,它變得越來越流行,許多一流的公司在其產(chǎn)品中都使用此框架。 比較好的例子是Netflix,Microsoft和LinkedIn。
即使Ember主要用于Web,臺式機(jī)和移動(dòng)應(yīng)用程序開發(fā)對于Ember.js也是值得注意的。這樣的示例之一就是Apple Music桌面應(yīng)用程序。Apple Music中Ember.js的使用證明它是一個(gè)出色的JavaScript框架。它基于雙向數(shù)據(jù)綁定概念(如AngularJS和React等SSR)運(yùn)行。
Ember在State Of JS 2019調(diào)查中的前端JavaScript框架類別中排名第六。
自發(fā)布以來,Ember在開發(fā)人員社區(qū)中的使用率逐漸增加,并且達(dá)到了較高水平。 2020年5月某處的下載量。

5. Svelte.js —超小包裝!

> Source: Wikimedia Logos
在過去的12個(gè)月左右的時(shí)間里,Svelte.js變得非常流行。 這是一個(gè)用TypeScript編寫的基于組件的開源JavaScript框架。 Svelte于2016年發(fā)布,此后在開發(fā)人員社區(qū)中越來越受歡迎。
為什么受歡迎?
- 與React不同,Svelte沒有虛擬DOM。這些組件是完全用HTML,CSS和JavaScript編寫的。
- Svelte編譯器將它們編譯為原始JavaScript模塊,該模塊不依賴于框架。因此,與React,Angular和Vue相比,應(yīng)用程序的捆綁包尺寸非常小。
- 隨著狀態(tài)的變化,將通過Operation方式更新DOM。因此,與React或Vue不同,Svelte不需要較高的瀏覽器處理能力。
Svelte在JS 2019調(diào)查中獲得了可能接管或不接手的即將到來技術(shù)的獎(jiǎng)項(xiàng)。

> Source: State of JS Survey 2019
今年以來,Svelte的使用量急劇增加。

> Source: NPM Trends
榮譽(yù)獎(jiǎng)
盡管React,Vue和Angular在很受歡迎的框架中排在前3位,但還有許多其他即將到來的流行框架/庫存在。
一些這樣的框架或庫如下。
- Meteor-渴望開發(fā)實(shí)時(shí)應(yīng)用程序的開發(fā)人員經(jīng)常使用Meteor。這被認(rèn)為是用于開發(fā)和部署Web應(yīng)用程序的全棧解決方案。
- Mithril —這是用于開發(fā)SPA的UI JavaScript框架。 這提供了開箱即用的路由和XHR實(shí)用程序,并且快速,易于實(shí)現(xiàn)。
- Aurelia-被認(rèn)為是JavaScript的較新版本,它使您可以實(shí)現(xiàn)任何接口。它可以擴(kuò)展HTML的多種用途,包括數(shù)據(jù)綁定。
- polymer -一個(gè)開放源代碼庫,可以為網(wǎng)站創(chuàng)建元素而無需進(jìn)入復(fù)雜的層次。 支持單向和雙向數(shù)據(jù)綁定。 Google開發(fā)了polymer。
結(jié)論
我們在這里介紹的所有JavaScript庫和框架都具有巨大的潛力,將來會急劇增長。因此,從這些入門將為您的JavaScript職業(yè)帶來更多好處。如果您有興趣比較更多的JavaScript框架和庫并探索它們的流行性,則可以找到更多信息。