2017年 JavaScript 架構回顧 -- React生態系統

來源:互聯網
上載者:User

標籤:擴充   out   poll   html   lan   https   graph   web   url   

前一篇文章中,我們介紹了2017年 JavaScript 架構的整體情況。我們也瞭解到在眾多的前端架構中,目前最為龐大又在快速增長的當屬 React 了,本文就來重點介紹 React 的生態系統。

首先看看與 React 有關的軟體包的生態系統。在 Facebook 構建 React 之初,就有許多來自於開源社區第三方庫的軟體包。這些軟體包使用 React 補充其它功能,以便提供完整的應用程式解決方案。當然,安裝包中也存在著提供相似功能的彼此競爭關係。

 

React Router

豐富的 Web 應用程式具有的一個共同特點就是:提供了多個“路由”。這些“路由”本質上是不同的功能塊,在瀏覽器中表現為單獨的 URL。React 不需要為簡單的應用程式使用路由,同時在一些案頭和行動裝置 App程式環境中,路由也不是必需的。因此,React Router 雖然是最受歡迎的 React 應用程式的路由解決方案,但 React Router 的相對流行程度卻只有 React 的一半。

瞭解 React 的開發人員都知道,React 應用於一個明確定義的問題領域並具有明確定義的介面,這也使其本身可以應用於比原本設計的更廣泛的應用領域。這種方式雖然增加了開發人員使用 React 的 pool,但也進一步提升了 React,擴充了 React 的生態系統,創造了一個有益的迴圈。React 作為一個部分的解決方案,本質上是不如 Ember 和 Angular 這樣的完整架構使用起來方便的。

 

Flux

React 作為一個非完整的解決方案,其中一個尚未解決的問題就是應用程式的資料層部分。當引入 React 時,Facebook 還推出了 Flux(一種管理應用程式中狀態的方法)和 GraphQL(一種用於在用戶端和伺服器之間進行通訊的系統)。這兩者都不如 React 本身流行。

Flux 在 React 之後不久就被推出了,但卻直到2015年中期才得到普及。在這期間,Flux 與 React Router 一起呈同步上升趨勢,這也表明 Flux 和 React Router 正在網路應用程式中配合使用。但是,2015年中期之後,Flux 和 React Router 的軌跡發生了很大的分化,Flux 在受歡迎程度上緩慢下滑。

 

Redux

造成 Flux 受歡迎下降的一種原因是 Redux 的崛起。Redux 和 Flux 針對的是應用程式功能中完全相同的部分,Redux 於2015年中期正式推出,並且使用率迅速提高,而 Flux 則在同一時期開始逐漸下滑。Redux 現在幾乎和 React Router 的相對流行程度相當,而且兩者相互緊密相關,並且都越來越受歡迎。這也表明 Redux 已經取代 Flux 成為 React 網路應用程式中首選的狀態管理系統。

 

MobX

MobX 是2016年中期推出的,也是 Flux 和 Redux 的競爭者。雖然 MobX 的使用率還不高,但是目前正在快速增長,值得關注。

 

RxJS

RxJS 是 Flux 和 Redux 的另一個競爭的狀態管理組件。RxJS 的流行情況不好統計。首先,RxJS 有兩個現存版本,一個是傳統版本 rx,一個是目前的版本 rxjs。這兩個版本下載量都很大,其中 rx 下載量正在下降,而 rxjs 下載量正在增長。

RxJS 的使用基本是作為其它項目子依賴的驅動,特別是對於 Angular CLI。這意味著所有使用 Angular 的磁碟機,都需要使用相同的 RxJS。同時,RxJS 也被合并到其它一些流行的命令列工具中。

 

GraphQL

GraphQL 與 React 是由 Facebook 同時開發的,但是這兩者之間並沒有內在的聯絡。GraphQL 是 網頁用戶端查詢服務器資料的一種方式。GraphQL 通過名為 Relay 和 Apollo 的兩個競爭庫得到了普及,Relay 和 Apollo 提供了一個 Web 應用程式,用於產生 GraphQL 和管理資料流。

Relay 首先被發布,並且正在增長,但是半年後發布的 Apollo 卻上升的更快,同時也越來越受到歡迎,並且增長速度還在明顯加快。雖然 GraphQL 開發人員使用量的絕對數還很小,但是 Apollo 的增長軌跡意味著 GraphQL 很值得開發人員關注。

 

React生態系統概述

通過中 React 生態系統12個月的變化趨勢,可以得到以下結論:

  • Apollo 的使用率正在快速增長。

  • Flux 的使用率正在下降。

  • React Router 和 Redux 都非常受歡迎,並且在使用中具有緊密相關的聯絡。

  • MobX 具有良好的增長,但其使用率還遠沒有到達 Redux。

  • React 本身的生態系統是巨大的。

 

JavaScript 開發工具推薦

SpreadJS 純前端表格控制項是基於 HTML5 的 JavaScript 試算表和網格功能控制項,提供了完備的公式引擎、排序、過濾、輸入控制項、資料視覺效果、Excel 匯入/匯出等功能,適用於 .NET、Java 和移動端等各平台線上編輯類 Excel 功能的表格程式開發。

原文連結:https://www.npmjs.com/npm/the-state-of-javascript-frameworks-2017-part-2-the-react-ecosystem

轉載請註明出自:葡萄城控制項

 

關於葡萄城

活字格由葡萄城公司研發、銷售並提供技術服務。葡萄城公司成立於1980年,是全球領先的集開發工具、商業智慧解決方案、管理系統設計工具於一身的軟體和服務提供者。西安葡萄城是其在中國的分公司,面向全球市場提供軟體研發服務,並為中國企業的資訊化提供國際先進的開發工具、軟體和研發諮詢服務。 


2017年 JavaScript 架構回顧 -- React生態系統

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.