最近,前端JavaScript框架界发生了一个“里程碑”:Vue.js在GitHub上的star数终于超过了React.js。通过使用一个叫做StarHistory的工具,我们可以清楚地看到React长期以来的“历史霸主地位”是如何慢慢被暴涨的Vue超越的。通常,当一个框架的流行度增加时,往往会出现很多关于哪个框架“真的”更流行、哪个框架更强大等等的争论。项目星级数vs实际使用量不要误会我的意思,我喜欢Vue——??我最近使用它的次数远远超过React,但是项目在github上的星级数更多的是衡量它的“人气”,而不是实际使用量.让我们举一个明显的例子。让我们来比较流行的Apache服务器httpd和一个相对不起眼??的JavaScript项目colors.js:这个支持38%互联网的Web服务器在GitHub上有1766颗星,而一个为Node控制台添加颜色的JavaScript库有3206颗星。因此,为了更好地了解Vue与React的相对流行程度,我们需要一些方法来衡量项目的实际使用情况。以项目在NPM上的下载数量作为实际使用情况的参考并不存在完美的衡量标准——因为安装和使用这些项目的方式有很多,所以选择npm作为参考是因为npm已经成为安装JavaScript的地方包。事实上的标准。如果我们查看每个框架的核心包(vue包和react包)的下载统计数据,它们应该反映合理的实际使用情况。为此,我使用了一个名为npm-stat.com的网站,通过该网站您可以生成可追溯到2015年2月的NPM包的历史下载图表(这与NPMRegistry同时报告下载数据相同)。从数据上看:React依然独占纵观近两年的数据,与github的星数形成鲜明对比的是,以NPM包下载量衡量的实际使用量,React依然独占鳌头。领先地位。这并不是说Vue在采用方面的数字很差——事实上,Vue在这方面的倍数略有增加,从2016年6月的大约12:1比率(1.693Mvs141.5k)到2018年的7:1在2019年5月(9.388Mvs1.374M),两者之间的差距已显着缩小。但在实际使用上,React与Vue仍然保持着巨大的差距。添加Angular进行全面比较虽然上面的讨论集中在React和Vue上,但我们将看看前端“三巨头”框架的另一个成员Angular。由于Angular社区同时包含“Angular.js”和“Angular”版本(Angular2及更高版本称为Angular并使用TypeScript编写),因此两者都被添加到我们的比较中。首先,从github上的star数来看:我们可以看到Angular.js一度领先于React和Vue,但在2016年年中被React超越,2017年又被Vue超越。第二个迭代版本Angular自2016年9月上线以来,星数逐渐增加,现已慢慢追上Angular.js,但热度仍排在第四位。AngularNPM下载量查看两个Angular版本的实际使用情况而不是星数,我们可以发现一些不同之处。'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疯狂增长的明星数量进行了各种炒作,但React仍然在JavaScript框架世界中稳坐“主导”位置。它的下载量即将超过每月1000万次,并且还在高速增长。但在过去两年中,Vue的增长速度超过了任何其他主要的JavaScript框架,最近赶上了Angular.js并逐渐缩小了它与Angular和React之间的差距。
