StackOverflow数据解析:JavaScript框架的暴虐生命周期

本文
Stack Overflow 的职工撰写,他透过 Stack Overflow
的大方向工具和她们的内部流量数据,分析了主流的 JavaScript
框架有着如何的欣欣向荣起衰,以及背后的有些原因。

新的 JavaScript UI
框架和库似乎一贯都在不停地发表。每隔六个月,大家就会看出一个崭新的框架声称自己已彻底改变了
UI
的腾飞,然后众多的开发者在自己的类别中采取它们,写博客分享应用体验,在
Stack Overflow
中提问和应对,日复一日,然后又冒出一个更新的(甚至更革命性的)框架来代替上一个的“王位”。

通过 Stack Overflow
的取向工具
以及它们的片段内部流量数据,Stack
Overflow 的开发者决定看一看一些鼓起的框架现在提高怎样,包括 Angular,
React, Vue.js, Backbone, Knockout 和 Ember。

框架的生命周期

Stack Overflow
的样子让我们询问到,这多少个技术随着时光的延迟,被讯问的气象如何,先看一些相对来说用户群体较大的框架。

有一段时间,jQuery 是 Stack Overflow 中 JavaScript
标签的看好关键字,关于它的问讯几乎占了新题材的 8%。随着 AngularJS 和
后来 React 的颁发,图片中的走势急速暴发了转变,它们蚕食了 jQuery
在社区中的占有份额。然后从 2016
年左右始发,开发者起始搬迁至Google最好和新星的风靡框架,所以我们看到
AngularJS 的用户也起始神速转用它的接轨版本 Angular 2+。

这多少个用户群体较大的框架只展示了有些情景,事实上,也有较小的框架在勇斗主导地位。大家得以从底下的图纸观察这一个JavaScript 框架生命周期的残酷无情程度。

JavaScript
框架的应用似乎有两个重点阶段。随着框架进一步受欢迎,它们犹如都有一个便捷提高的级差,然后又因为开发者采取更新的技术,它们的进步先导变得没那么快并且完全是坚实下降。那么些框架的生命周期唯有几年。

从 2011 年终步,业界似乎根本行使了多少个设有竞争的框架:Backbone, Knockout
和 Ember。有关那一个标签的题材在 2013 年左右产出增长,并且在 AngularJS
起始加强的同时,又开头在坚实下降。如今的新秀是 Vue.js
框架,它被神速采取,我们可以观望它是 Stack Overflow
上提升最快的竹签之一。 

可是,最后唯有时间可以作证这种增长将会没完没了多长时间。

通过编程语言和技能拓展辨析

开发者使用某个特定的前端框架或其他框架都会有丰硕多彩的要素。紧要行使某种编程语言或技术的开发者可能更倾向于采纳某个 UI
框架。 例如,我们也许会以为 Node.JS 开发者会选取接纳与 Ruby on Rails
开发者不同的框架。

按照开发者最常访问的竹签将她们分开成不同的组,通过开展分组,检查每个组流向这一个框架的流量的比例。

众目睽睽可以看看,使用 TypeScript 和 CSS 的开发者对 JavaScript
框架流量的奉献都相比高。这是很正规的,因为使用这个技术的一般是前者开发者,所以他们更有可能行使
JavaScript 框架。尤其是 Angular,它和 TypeScript 的倚重关系特别强,因为
Angular(不是 AngularJS)是用 TypeScript 编写的。

本次分析也含有了对 C++ 和 C 开发者的分析,由于根本利用 C 和 C++
的开发者更倾向于举办更多的系统编程,所以他们不太可能使用 JavaScript UI
框架,由此它们在每个框架中都只是有着相对较低的比例。

可是不论使用什么技能,Angular 和 React
都是最受欢迎的。这也是有道理的,他们是先锋,而且背后有六个最大和最有影响力的科技公司的辅助。我们还可以觉察,Angular
在 C#, Java 和 PHP(某种程度上)开发者中的受众更多,而 React 更受
Rails,Node.js 和 Python 开发者的欢迎。

对此 Knockout.js,它至关重要透过 C# 开发者拿到更多的流量,因为 Knockout
也是微软的技巧。

PHP 是一个有趣的案例,它是为 Web 开发而设计的,但是 PHP
开发者并没有访问很多有关 Angular 或 React 的题目(全部上来看),反而对于
Vue.js 问题的拜会显得有些不成比例。

背后,作者首要透过行业和地理地点(United States地区)这五个角度对最受欢迎的两大热点框架
React 和 Angular 进行明白析,不妨看看数据。

最终,作者对此发表了和睦的见解,他不会主持选用任何一种框架。就像对于每一项技术的选拔一样,它的设想因素不应是“火热程度”,而是权衡取舍和是否符合解决手头的题目。可是另一方面,开发者社区的层面确实很首要。它促进开源环境的发达,并且更易于在
Stack Overflow 以及网络上找到帮助。

相关文章