03.19.03-test JavaScript框架的残酷生命周期

JavaScript UI框架和库是循环工作的。 每六个月左右会弹出一个新的窗口,声称它彻底改变了UI开发。 成千上万的开发人员将其采纳到他们的新项目中,撰写了博客文章,提出并回答了Stack Overflow问题,然后弹出了一个新的(甚至更具革命性的)框架来篡夺王位。

使用堆栈溢出趋势工具和一些 在我们的内部流量数据中,我们决定看一下一些更杰出的UI框架:Angular,React,Vue.js,Backbone,Knockout和Ember。

框架生命周期

堆栈溢出趋势使我们可以研究随着时间的流逝如何询问这些技术。 我们可以从一些较大的框架开始。

03.19.03-test JavaScript框架的残酷生命周期
There was a time when jQuery was the darling of JavaScript tags on Stack Overflow, accounting for almost 8% of new questions. This picture quickly changed as AngularJS and later React were released, cannibalizing jQuery’s mindshare amongst the community. Then starting around 2016, there is a quick shift from AngularJS to Angular, which represents the subsequent versions (Angular 2+), as developers began to migrate to the latest and greatest flavors of the popular framework from Google.

这些较大的框架仅显示部分内容。 还有一些较小的框架争夺统治地位。 这里的图片显示了生命周期的残酷程度。

03.19.03-test JavaScript框架的残酷生命周期
There appear to be two major phases in JavaScript framework usage. There appears to be a quick ascent, as the framework gains popularity and then a slightly less quick but steady decline as developers adopt newer technologies. These lifecycles only last a couple of years. Starting around 2011, there seems to be major adoption of a couple of competing frameworks: Backbone, Knockout, and Ember. Questions about these tags appear to grow until around 2013 and have been in steady decline since, at about the same time as AngularJS started growing. The latest startup is the Vue.js framework, which has shown quick adoption, as it is one of the fastest growing tags on Stack Overflow. Only time can tell how long this growth will last.

通过语言或技术

开发人员使用一个特定的前端框架或其他前端框架可能会受到多种因素的影响。 主要使用一种编程语言或技术工作的开发人员可能更倾向于选择某个UI框架。 例如,我们可能期望Node.JS开发人员选择与使用Ruby on Rails的框架不同的框架。

我们可以通过根据开发人员访问最多的标签将开发人员分为几组来了解这种情况,并针对每个组检查进入这些框架的流量百分比。

03.19.03-test JavaScript框架的残酷生命周期

与我们研究的其他技术相比,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开发人员中更受欢迎。

当我们看一些不那么受欢迎的标签时,有两个有趣的发现。 与其他技术相比,Ember.js和Ruby on Rails之间有着不成比例的强大关系。 这种婚姻可能是由于两个框架之间的某些哲学相似之处。 Ember由Ruby on Rails核心团队的成员Yehuda Katz创建。 因此,Ember和Ruby on Rails都倡导基于配置的惯例范式,使这两种技术相互补充,并允许开发人员 迅速提高工作效率,而不必担心具体的配置,直到他们需要为止。

毫不奇怪,Knockout.js收到的C#开发人员的流量不成比例地增加,这很可能是因为Knockout也是Microsoft技术。 PHP也是一个有趣的案例。 它是为Web开发而设计的,并且主要用于Web开发,但是PHP开发人员并没有访问许多Angular或React问题(对于整个JavaScript框架来说并没有太多),而是访问了不成比例的Vue.js问题。

行业

JavaScript框架的选择也因行业而异,我们可以通过将IP地址与公司进行匹配来对美国流量进行细分。 由于React和Angular是最受欢迎的框架,因此我们将流量与每个行业中位数组织中的每个标签进行了比较。

哪些行业倾向于使用这些框架?

03.19.03-test JavaScript框架的残酷生命周期

我们可以看出,到目前为止,媒体和零售行业倾向于使用这些框架,并且与其他行业相比,其所占比例更高,因为这些行业中的公司倾向于使用更新的技术来为用户带来丰富的客户端体验 与内容互动并完善在线购物体验。 这与学术,*和医疗保健部门形成对比,后者似乎对这些类型的框架几乎没有需求。 这可能是因为这些行业相对更关注数据库管理或数据分析,而不是前端Web开发。

保险业是最大的离群值和谜团。 与其他行业相比,保险公司总体上似乎以很高的比率使用了Angular,而没有使用太多的React。 我们仍在进一步探讨为什么会这样,但是,如果有任何为保险公司工作的开发人员正在阅读本文,请随时在评论中留下您的猜想。

美国的React和Angular使用

正如我们在以前的帖子,编程技术的选择因地理位置而异。

因此,与React和Angular主题保持一致,美国哪些城市(总体访问量最高的25个城市中)更可能使用这些框架?

03.19.03-test JavaScript框架的残酷生命周期

有趣的是,这组城市在各个框架之间平均分配,达拉斯和丹佛更倾向于Angular和布鲁克林,而旧金山更倾向于React。 我喜欢认为旧金山和布鲁克林是美国最时尚的两个城市,这就是为什么这些城市的开发人员在选择框架方面也很时尚。

03.19.03-test JavaScript框架的残酷生命周期

结论

让我清楚一点,即使我来自布鲁克林,并且对React有新的兴趣,但我并不主张特别使用任何框架。 像每种技术选择一样,它不关乎什么是“热门”,而是关乎确定权衡并找到解决当前问题的工具。 但说实话,开发人员社区的规模当然很重要; 它有助于兴旺的开源环境,并使在Stack Overflow上寻求帮助变得更加容易。

无论您使用哪种JavaScript框架,如果您是希望踏上职业生涯的Web开发人员,请这是目前一些公司在Stack Overflow工作中聘用前端Web开发人员的公司。

我们为您带来一些乐趣。 我们最新的播客节目已经播出!