2017年 JavaScript 框架回顧 -- React生態系統
首先看看與 React 有關的軟件包的生態系統。在 Facebook 構建 React 之初,就有許多來自於開源社區第三方庫的軟件包。這些軟件包使用 React 補充其它功能,以便提供完整的應用程序解決方案。當然,安裝包中也存在著提供相似功能的彼此競爭關系。
React Router
豐富的 Web 應用程序具有的一個共同特點就是:提供了多個“路由”。這些“路由”本質上是不同的功能塊,在瀏覽器中表現為單獨的 URL。React 不需要為簡單的應用程序使用路由,同時在一些桌面和移動應用程序環境中,路由也不是必需的。因此,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 是 Web 客戶端查詢服務器數據的一種方式。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生態系統