2017年JavaScript 框架报告(二)React 生态

报告一共有三部分,这是第二部分,进入公众号查看另外两部分。

生态主要组成部分

与 Angular 等框架相比,React 并不是一个完整的解决方案,这就给了开源社区很大的空间来构建生态系统,以提供完整的应用程序体验。上图横坐标是时间,纵坐标是下载量占 NPM Package 下载量总和的比例。

React Router

完善的 Web 应用程序的一个共同特点是提供“路由”,这些“路由”本质上是不同的功能模块,在浏览器中表示为单独的 URL。 但路由并不是必需的,一些简单的应用程序就不需要使用路由。因此,React Router 虽然是最受欢迎的 React 路由解决方案,欢迎程度却只有 React 本身的一半。

Flux

React 还有一个未解决的数据层问题。在 React 推出不久,Facebook 还推出了Flux 用于管理应用程序中的状态,但直到 2015 年中期才得到普及,与 React Router 同步上升,这表明两者在网络应用程序中一同被使用。但是,2015年中期之后,它们的轨迹发生了很大的分化,Flux 的受欢迎程度缓慢下滑。

Redux

Flux 衰落的一个解释是 Redux 的崛起。Redux 于 2015 年中期推出,势头迅猛,而 Flux 则在同一时间开始下滑。 Redux 现在几乎和 React Router 一样流行,两者紧密地相互追随,并且越来越受欢迎。这表明 Redux 已经取代 Flux 成为 React 首选的状态管理方法。

MobX

MobX 是 2016 年中期推出的 Flux 和 Redux 的竞争对手。目前它正在快速增长,但仍然是这个领域的小玩家,值得关注。

RxJS

RxJS 是另一个与 Flux 和 Redux 竞争的状态管理组件。RxJS 有两个现存版本,Rx 的传统版本和 RxJS 的当前版本。虽然 Rx 正在下降,而 RxJS 正在增加,但两者都得到大量下载。 RxJS 作为其他项目的依赖,受其他项目的驱使,比如 Angular CLI,这意味着所有 Angular 的使用都会驱使相同数量的 RxJS 的使用。它也被合并到其他一些流行的命令行工具中。

GraphQL

GraphQL 与 React 并没有内在的联系,它只是 Web 客户端查询服务器数据的一种方式。它通过 Relay 和 Apollo 两个竞争库获得了普及,这两个库可以使得 Web 应用程序便捷地生成 GraphQL 和管理数据流。

Relay 首先被发布,但是很快被半年后发布的 Apollo 赶超。虽然 GraphQL 绝对数量还很小,但 Apollo 的增长曲线意味着 GraphQL 值得深入挖掘。

React 生态总结

看过去 12 个月的增长,我们可以看到:

Apollo 正在快速增长;

Flux正在下降;

React Router 和 Redux 都很受欢迎,并且在使用中联系紧密;

MobX 获得了良好的增长,但还是不如 Redux;

React本身的应用非常广泛。

关注获取前端最新资讯

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180112G0FD6Q00?refer=cp_1026

扫码关注云+社区