设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 IT综合资讯 查看内容

StackOverflow数据分析:JavaScript框架的残酷生命周期

2018-1-12 21:25| 发布者: joejoe0332| 查看: 689| 评论: 0|原作者: oschina|来自: oschina

摘要: 新的 JavaScript UI 框架和库似乎一直都在不停地发布。每隔六个月,我们就会看到一个全新的框架声称自己已彻底改变了 UI 的发展,然后成千上万的开发者在自己的项目中使用它们,写博客分享使用心得,在 Stack Overfl ...

本文由 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 年左右开始,开发者开始迁移至谷歌最好和最新的流行框架,所以我们看到 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 问题的访问显得有些不成比例。

后面,作者主要通过行业和地理位置(美国地区)这两个角度对最受欢迎的两大热门框架 React 和 Angular 进行了分析,不妨看看数据。

最后,作者对此发表了自己的看法,他不会主张使用任何一种框架。就像对于每一项技术的选择一样,它的考虑因素不应是“火热程度”,而是权衡取舍和是否适合解决手头的问题。不过另一方面,开发者社区的规模确实很重要。它有助于开源环境的繁荣,并且更容易在 Stack Overflow 以及网络上找到帮助。


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部