勿以 star 数论高低!React 在前端框架世界仍是领先地位

2018 年 6 月 25 日 开源中国


作者:OSC-局长

链接:

https://www.oschina.net/news/97278/react-usage-beating-vue-angular

转载请在文中注明来源和作者


上周在前端的 JavaScript 框架世界发生了一件称得上是“里程碑”的事:Vue.js 在 GitHub 上的 star 数量终于超过了 React.js 的 star 数量。




通过使用一个叫做 Star History 的工具,我们可以清楚看到:React 长期以来的“历史主导地位”是如何慢慢被暴涨的 Vue 所超越。




通常情况下,当框架的流行度提高时,往往会引发大量关于哪个框架“确实”更受欢迎、哪个框架更强大以及其他方面的争论。


项目的 star 数量 vs 实际使用情况


不要误解我的意思,我很喜欢 Vue —— 最近我使用它的频率远远超过了 React 的频率,但一个项目在 github 上的 star 数量更多的是衡量它的“流行”程度,而不是实际使用情况。下面举一个明显的例子,我们拿比较流行的 Apache 服务器 httpd 和一个相对来说意义没那么重大的 JavaScript 项目 colors.js 来对比:




支持着 38% 互联网的 Web 服务器在 GitHub 上拥有 1766  个 star,而为 Node 控制台添加颜色的 JavaScript 库有 3206 个 star。


因此,为了更好地了解 Vue vs React 的相对流行度,我们需要一些方法来衡量项目的实际使用情况。


用项目在 NPM 的下载量作为实际使用情况的参考


没有存在完美的衡量手段 —— 因为安装和使用这些项目有很多种办法,之所以选择了 npm 作为参考是因为 npm 已经成为安装 JavaScript 包的事实标准。


如果我们查看每个框架的核心软件包的下载统计数据 —— vue 软件包和 react 软件包,它们应该能反映出合理的实际使用情况。


为此,我使用了一个名为 npm-stat.com 的网站,通过该网站,你能生成可回溯到2015年2月的 NPM 软件包的历史下载图(这与 NPM 注册管理机构报告下载数据的时间相同)。


由数据可知:React 仍然处于主导地位


纵观过去两年的数据,我们可以看到,与 github 的 star 数形成鲜明对比的是,根据 NPM 软件包的下载量来衡量,React 仍然在实际使用方面占据主导地位。




这并不是说 Vue 在被采用方面的数据表现不佳 —— 事实上,Vue 在这方面的倍数略有增加,从2016年6月大约 12:1 的比例(1.693M vs 141.5k)下降到2018年5月 7:1 的比例(9.388M vs 1.374M),两者的差距明显的缩小了。但在实际使用方面, React 仍然与 Vue 保持着巨大的差距。


添加 Angular 以进行综合对比


虽然上面的讨论主要集中在 React 和 Vue,但我们还是要看一下前端“三大”框架的其他成员,Angular。


由于 Angular 社区包含 "Angular.js" 和 "Angular" 这两个版本(Angular 2 及之后的版本都叫 Angular,使用 TypeScript 编写),因此将这两个都添加到我们的比较中。

首先,就 github 的 star 数目来看:




我们可以看到 Angular.js 与 React 和 Vue 相比曾一度处于领先的地位,但在2016年年中被 React 超越,然后2017年被 Vue 超越。第二个迭代版本 Angular 自2016年9月推出以来,它的 star 数目逐渐上升,现在也已经慢慢赶上了 Angular .js,但在受欢迎程度方面依然处于第四位。


Angular 的 NPM 下载情况


观察两个 Angular 版本的实际使用情况而不是 star 数目,我们可以发现不一样的东西。




'angular' 即 Angular.js,@angular/core 是 Angular


从使用方面来看,新版 Angular 在发布后立即从 Vue 和 Angular.js 中冒出来,从那时起一直保持领先地位,尽管远没有接近 React。


在此期间,Vue 在2016年9月的下载量约为 Angular.js 和 Angular 总和的 1/3,并于2018年5月达到 1/2,还超过了 Angular.js。


总结:React 仍处于主导地位,Vue 增长得越来越快


通过深入了解 NPM 的下载统计数据,我们发现尽管大家都围绕着 Vue 疯狂增长的 star 数来大肆宣传,但 React 仍然在 JavaScript 框架世界中稳坐“主导”的位置。它即将超过每月1000万的巨大下载量,并且还一直保持着高速的增长。


但在过去的两年中,Vue 的增长速度比其他任何主流的 JavaScript 框架都快,最近赶上了 Angular.js,并逐渐缩小了它与 Angular 和 React 之间的差距。


开源中国征稿开始啦!


开源中国 www.oschina.net 是目前备受关注、具有强大影响力的开源技术社区,拥有超过 200 万的开源技术精英。我们传播开源的理念,推广开源项目,为 IT 开发者提供一个发现、使用、并交流开源技术的平台。


现在我们开始对外征稿啦!如果你有优秀的技术文章想要分享,热点的行业资讯需要报道等等,欢迎联系开源中国进行投稿。投稿详情及联系方式请参见:我要投稿




推荐阅读

Github 用户喊话微软:放弃 ICE 吧,不然会失去我们的

Airbnb 宣布放弃使用 React Native,回归使用原生技术

JPA、Hibernate、Spring Data JPA 之间的关系

遭微软放弃,Windows 7 终究活成了 XP 的样子

用 Python 分析4W场球赛,2018 世界杯冠军竟是......

点击“阅读原文”查看更多精彩内容

登录查看更多
0

相关内容

React.js(React)是 Facebook 推出的一个用来构建用户界面的 JavaScript 库。

Facebook开源了React,这是该公司用于构建反应式图形界面的JavaScript库,已经应用于构建Instagram网站及 Facebook部分网站。最近出现了AngularJS、MeteorJS 和Polymer中实现的Model-Driven Views等框架,React也顺应了这种趋势。React基于在数据模型之上声明式指定用户界面的理念,用户界面会自动与底层数据保持同步。与前面提及 的框架不同,出于灵活性考虑,React使用JavaScript来构建用户界面,没有选择HTML。Not Rest

【实用书】Python技术手册,第三版767页pdf
专知会员服务
229+阅读 · 2020年5月21日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
115+阅读 · 2020年5月10日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
173+阅读 · 2020年1月1日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
83+阅读 · 2019年11月25日
2019年10月编程语言排行榜:前8名15年如一日
大数据技术
7+阅读 · 2019年10月13日
【数字化】2019年全球数字化转型现状研究报告
产业智能官
28+阅读 · 2019年7月8日
使用 C# 和 Blazor 进行全栈开发
DotNet
6+阅读 · 2019年4月15日
React Native 分包哪家强?看这文就够了!
程序人生
12+阅读 · 2019年1月16日
2017企业阵亡最全名单公布
小饭桌
6+阅读 · 2018年2月28日
已删除
生物探索
3+阅读 · 2018年2月10日
Vue.js 很好,但是比 Angular 或 React 更好吗?
程序猿
3+阅读 · 2017年8月27日
Star-Transformer
Arxiv
5+阅读 · 2019年2月28日
Arxiv
11+阅读 · 2018年4月25日
Arxiv
3+阅读 · 2017年12月18日
VIP会员
相关VIP内容
【实用书】Python技术手册,第三版767页pdf
专知会员服务
229+阅读 · 2020年5月21日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
115+阅读 · 2020年5月10日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
173+阅读 · 2020年1月1日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
83+阅读 · 2019年11月25日
相关资讯
2019年10月编程语言排行榜:前8名15年如一日
大数据技术
7+阅读 · 2019年10月13日
【数字化】2019年全球数字化转型现状研究报告
产业智能官
28+阅读 · 2019年7月8日
使用 C# 和 Blazor 进行全栈开发
DotNet
6+阅读 · 2019年4月15日
React Native 分包哪家强?看这文就够了!
程序人生
12+阅读 · 2019年1月16日
2017企业阵亡最全名单公布
小饭桌
6+阅读 · 2018年2月28日
已删除
生物探索
3+阅读 · 2018年2月10日
Vue.js 很好,但是比 Angular 或 React 更好吗?
程序猿
3+阅读 · 2017年8月27日
Top
微信扫码咨询专知VIP会员