【第1167期】npm 2017 JavaScript 框架報告之 React 生態系統分析
前言
這幾天凍壞了。2018年才過去兩週,針對關於2017年的前端行業總結不少,那今天帶來是大家都很熟悉的npm社群的總結。今日早讀文章由@局長翻譯分享。
正文從這開始~
前兩天,我們報導了 npm 2018 年的第一個 JavaScript 現狀報告的第一部分,該部分講述了 2017 前端框架的現狀,我們也從中看到在前端框架領域 React 的主導地位。
今天,npm 釋出了報告的第二部分 —— 對強大的 React 的生態系統進行了分析。
來看看與 React 有關的軟體包的生態系統。
剛開始 Facebook 構建 React 時,許多這些軟體包來自開源社群的第三方。這些軟體包使用 React 併為其補充功能以提供完整的應用程式體驗。它們中有幾個都提供了類似的功能,彼此競爭。
React Router
豐富的 Web 應用程式都有一個共同特點,那就是提供多個“路由”,這些“路由”本質上是不同的功能塊,在瀏覽器中表示為單獨的 URL。
React 不需要為簡單的應用程式使用路由,路由有時會用在桌面和移動應用程式等環境中,而它並不是必需的。因此,React Router 雖然是最受歡迎的 React 應用程式路由解決方案,但使用量卻只有 React 本身的一半。
這是我們從 React 學到的一部分:通過將自己限制在一個明確定義的問題領域並具有明確定義的介面,它使其本身可以應用於比原始設計者更廣泛的應用範圍。這個決定增加了開發者在 React 上的使用和工作頻率,進一步改進了 React,並擴充套件了它的生態系統,創造了一個有益的迴圈。這是一個令人驚訝的結果,因為作為一個部分的解決方案,React 本質上不如 Ember 和 Angular 這樣的完整框架使用起來方便。
Flux
在一個完整應用程式中,React 未解決的一個部分是資料層。當年 Facebook 推出 React 時,還推出了Flux(一種管理應用程式中的狀態的方法)和 GraphQL(一種用於在客戶端和伺服器之間進行通訊的系統)。不過兩者都不如 React 本身流行。
Flux 在 React 釋出之後不久就被推出,直到 2015 年中才得到普及,但是 2015 年中期之後,它們的軌跡發生了很大的分化,Flux 的受歡迎程度在緩慢下滑。
Redux
Flux 沒落的一個解釋是 Redux 的崛起。針對應用程式,Redux 和 Flux 提供了相同的功能,但給開發者帶去了不同的體驗,Redux 於 2015 年中期推出,迅速發展並超過了 Flux,而 Flux 則在同一時間開始下滑。
Redux 現在幾乎和 React Router 一樣流行,而且兩者緊密地相互追隨,並且越來越受歡迎。這表明 Redux 已經取代 Flux,成為 React 網路應用程式的首選狀態管理系統。
MobX
MobX 於 2016 年年中推出,是 Flux 和 Redux 的競爭對手。目前它正在快速增長,但仍然是這個領域的“萌新”,不過值得關注。
RxJS
React 生態中很奇怪的一個專案 RxJS,它是另一個與 Flux 和 Redux 競爭的狀態管理元件。RxJS 的流行不容易追蹤和解釋。首先,它現存有兩個版本,一個是傳統版本rx
,一個是當前版本rxjs
。這兩個下載量都很大,雖然rx
在下降,而rxjs
在增長。
RxJS 的使用似乎是作為其他專案的子依賴,特別是 Angular CLI 的驅動。這意味著所有使用 Angular 的驅動器都使用相同的 RxJS。它也被合併到其他一些流行的命令列工具中。
GraphQL
雖然它和 React 一樣,在 Facebook 內部開發並同時釋出,但 GraphQL 與 React 並沒有內在的聯絡;它只是 Web 客戶端查詢伺服器資料的一種方式。它通過名為 Relay 和 Apollo 這兩個具有競爭性的庫獲得了流行,這兩個庫提供了一個 Web 應用程式,用於便捷生成 GraphQL 和管理資料流。
Relay 釋出得比較早,並且正在增長,但是已經被半年後釋出的 Apollo 超越,Apollo 已經越來越受歡迎,並且增長速度明顯加快。雖然 Apollo 的絕對數量還很小,但是它的增長軌跡值得深入挖掘。
React 生態系統總結
再看看過去 12 個月的增長,我們可以看到相關軟體包在 React 生態系統中的相對位置。趨勢也變得清晰:
Apollo 正在快速增長
Flux 在慢慢沒落
React Router 和 Redux 都非常受歡迎,並且在使用中緊密聯絡,所以我們將它們放在了一起
MobX 有著良好的增長,但尚未能挑戰 Redux 的地位
React 本身就十分龐大
最後,關於2017行業總結報告
【第1154期】2017 年 JavaScript 發展狀況回顧
【第1152期】2017 JavaScript 調查報告概述
關於本文
譯者:@局長
譯文:https://www.oschina.net/news/92299/the-state-of-javascript-frameworks-2017-the-react-ecosystem
作者:@Laurie Voss
原文:https://www.npmjs.com/npm/the-state-of-javascript-frameworks-2017-part-2-the-react-ecosystem
相關文章
- 2017年 JavaScript 框架回顧 -- React生態系統JavaScript框架React
- 2017年 JavaScript 框架回顧 — React生態系統JavaScript框架React
- npm 釋出 2017 JavaScript 框架報告:React 占主導地位NPMJavaScript框架React
- 保險業報告:全面瞭解生態系統
- 2018 JVM生態系統報告JVM
- JVM生態系統報告2018JVM
- 前端每週清單第 47 期:NPM 年度報告與 2018 展望,Airbnb React Router 實踐前端NPMAIReact
- 2021年JVM生態系統報告 - snykJVM
- 德勤&MITSloan報告:協同勞動力生態系統MIT
- Dealroom:下一代技術生態系統報告OOM
- 2017 開發者生態報告:Java 最火,Go 最有前途JavaGo
- Vertex:2017年中國AI產業生態報告概覽AI產業
- 逐行分析鴻蒙系統的 JavaScript 框架鴻蒙JavaScript框架
- IAB:2020年網路廣告生態系統報告
- 報告:通過整合安全生態系統以降低複雜性
- Vue vs React: Javascript 框架之戰VueReactJavaScript框架
- [譯] 2017年日誌生態系統概述
- GroupM:2020年移動營銷生態系統報告
- hadoop 之Hadoop生態系統Hadoop
- Dealroom:歐洲可持續食品和農業技術生態系統報告OOM
- 前端每週清單第 37 期:Bootstrap 4 必知必會、2017 Vue.js 報告、Graphcool 開源框架前端bootVue.js框架
- AIX作業系統效能分析報告AI作業系統
- CAICT:中國金融科技產業生態分析報告(附下載)AI產業
- Snyk: 2019年JavaScript 框架的狀態安全報告JavaScript框架
- NoSQL生態系統SQL
- 28000名開發者,100個問題,2017年JS生態報告JS
- React-App:NPM start 報錯ReactAPPNPM
- 很多未解之謎終於有答案了——2018年JVM生態系統報告出爐JVM
- Sensor Tower:2021年移動應用生態系統使用報告
- Analysis Group:2020年全球蘋果應用商店生態系統研究報告蘋果
- Booking:2023年印度遊客和旅遊生態系統報告
- 玩轉 React 【第03期】:邂逅 React 元件React元件
- .NET 生態系統的蛻變之 .NET 6
- Hadoop 生態系統Hadoop
- hadoop生態系統Hadoop
- 【轉】Nosql生態系統SQL
- 鏈塔智庫:星際檔案系統IPFS生態研究報告(附下載地址)
- 2020 最新 JVM 生態報告JVM