2017年 JavaScript 框架回顾 -- React生态系统

简介: 前一篇文章中,我们介绍了2017年 JavaScript 框架的整体情况。我们也了解到在众多的前端框架中,目前最为庞大又在快速增长的当属 React 了,本文就来重点介绍 React 的生态系统。
+关注继续查看

前一篇文章中,我们介绍了2017年 JavaScript 框架的整体情况。我们也了解到在众多的前端框架中,目前最为庞大又在快速增长的当属 React 了,本文就来重点介绍 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年,是全球领先的集开发工具、商业智能解决方案、管理系统设计工具于一身的软件和服务提供商。西安葡萄城是其在中国的分支机构,面向全球市场提供软件研发服务,并为中国企业的信息化提供国际先进的开发工具、软件和研发咨询服务。 

原文发布时间为:2018年01月24日
原文作者:葡萄城技术团队 

本文来源:开源中国 如需转载请联系原作者


目录
相关文章
|
6天前
|
Web App开发 编解码 移动开发
React 框架下如何集成 H.265 流媒体视频播放器 EasyPlayer.js?
H5 无插件流媒体播放器 EasyPlayer 属于一款高效、精炼、稳定且免费的流媒体播放器,可支持多种流媒体协议播放,可支持 H.264 与 H.265 编码格式,性能稳定、播放流畅,能支持 WebSocket-FLV、HTTP-FLV,HLS(m3u8)、WebRTC 等格式的视频流。在功能上,EasyPlayer 支持直播、点播、录像、快照截图、MP4 播放、多屏播放、倍数播放、全屏播放等特性,并且已实现网页端实时录像、在 iOS 上实现低延时直播等功能,具备较高的可用性和稳定性
18 0
|
25天前
|
JavaScript 前端开发
fastadmin、vue、react图标库适用于多种框架
在二开fastadmin中,在写vue以及react时,侧边导航栏以及按钮中常常需要很多图标,那么这些图标应该去哪里得到呢,在这里给大家一个链接,这里有丰富的图标库,可以找到自己想要的进行使用。
26 0
fastadmin、vue、react图标库适用于多种框架
|
27天前
|
前端开发
react antd框架中的徽标获取数据对应状态的数量
react antd框架中的徽标获取数据对应状态的数量
14 0
|
1月前
|
前端开发 JavaScript 算法
个人开源的 React like 框架
一个完善的React like 框架,开箱即用
|
2月前
|
JavaScript 前端开发 算法
React、Vue框架如何实现组件更新,原理是什么?
React、Vue框架如何实现组件更新,原理是什么?
58 0
|
2月前
|
JavaScript 前端开发 开发者
一篇读懂React、vue框架的生命周期函数
一篇读懂React、vue框架的生命周期函数
23 0
|
2月前
|
前端开发
React框架第九课 React基础第三课
React框架第九课 React基础第三课
31 0
|
2月前
|
前端开发 JavaScript
React框架的第八课 语法基础课《第二课React框架中的事件》
React框架的第八课 语法基础课《第二课React框架中的事件》
36 0
|
2月前
|
前端开发 JavaScript
React框架第七课 语法基础课《第一课React你好世界》(二)
React框架第七课 语法基础课《第一课React你好世界》(二)
32 0
|
2月前
|
前端开发 JavaScript 编译器
React框架第七课 语法基础课《第一课React你好世界》(一)
React框架第七课 语法基础课《第一课React你好世界》(一)
33 0
相关产品
云迁移中心
推荐文章
更多