首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

2017JavaScript框架战报——React分战场

我们来看看与React有关的软件包的生态系统。当Facebook构建React时,就有许多来自开源社区的第三方软件包。为提供完整的应用程序体验,这些软件包使用React并添加了附加功能。其中几个中因提供了类似的功能,彼此之间存在竞争。

React Router

成熟的Web应用程序共有的一个特点是都提供了多个“路由”,这些“路由”本质上是不同的功能块,在浏览器中表示为单独的URL。React不需要为更简单的应用程序使用路由,有时用在桌面和移动应用程序等环境中,路由也并不是必需的。因此,React Router虽然最受欢迎的React应用程序路由解决方案,但流行度却不及React本身的一半。

React的一部分:通过将自己限制在一个明确定义的问题领域内,并具有明确定义的接口,使其本身可以应用于比原始设计更广泛的应用范围。这一决定增加了开发人员使用和处理React的能力,进一步改进并扩展了他的生态环境,创造了一个有益的循环。这一结果出乎意料,因为React作为一个局部的解决方案,本质上不如Ember和Angular这样的完整框架使用起来方便。

Flux

一个完整应用程序的另一个不通过React的部分就是数据层。推出React的同时,Facebook还推出了Flux和GraphQL。两者都不如React流行,这再次显示了React在一小部分问题上的解决问题能力。

Flux在React之后不久就被推出,但直到2015年中才与React Router同步渐渐走入大众的视野,这表明了两者在网络应用程序中正在“捆绑”使用。但是,2015年中期之后,它们的轨迹发生了很大的分化,Flux的欢迎程度缓慢下滑。

Redux

Flux垮台的一个原因是Redux的崛起。Redux在2015年年中引入了Redux,与Flux在应用程序功能上有相同的部分,但不同的是开发经验,与此同时Flux开始下滑。现在Redux几乎和React Router一样流行,而且两者紧密地相互追随,并且越来越受欢迎。这表明Redux已经取代Flux成为React网络应用程序中的首选管理状态系统。

MobX

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

RxJS

RxJS是另一个与Flux和Redux竞争的状态管理组件。RxJS的流行趋势不能用简单的模式来追踪或解释。首先,它有两个extant版本,一个名为rx的遗留版本和一个名为rxjs的当前版本。虽然rx版本目前正在下滑,而rxjs正在上升,但两者都得有大量使用率。

RxJS似乎是作为其他项目的子依赖项驱动的,特别是Angular CLI。这意味着所有使用Angular的驱动器都使用相同的RxJS,也被合并到其他一些流行的命令行工具中。

GraphQL

虽然它与React是同时在Facebook内部开发的,但是GraphQL与React并没有内在的联系。它只是Web客户端查询服务器数据的一种方式。它通过名为Relay和Apollo的两个竞争库得到了一定的普及,这两个库提供用于生成GraphQL和管理数据流的Web应用程序。

首先推出的是Relay,目前正在持续成长,但是已经被半年后发布的Apollo盖过了风头。虽然绝对数量还很小,但Apollo的增长轨迹值得深入挖掘。

React生态系统总结

回头看过去12个月的变化,我们可以看到各个“玩家”在React生态系统中的位置变化:

* Apollo正在快速增长。

* Flux正在下降。

* React Router和Redux都非常受欢迎,并且有紧密地关系。

* MobX增长看好,但还没有危及到Redux的地位。

* React本身是庞大的。

IT168文库APP

最专业的IT技术交流分享平台!扫码安装,与众多技术同好交流!

IT168文库中国最专业的IT文档分享平台,拥有百万活跃的IT技术精英!我们致力于有效帮助IT人士提升职业素养。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180111G0HD1500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券