摘要:不过,根据伯克利大学的这篇文章来看,拥有丰富的开源库,是开发者在选择一门开发语言时,最重要的因素。拥有超过个可用的开源库,是目前世界上最大的开源库集合。月份,我们发布了。这和年的情况是相反的。在的调查中,超过的受访者表示他们正在使用。
原文标题:This year in JavaScript: 2018 in review and npm’s predictions for 2019本文翻译自NPM官方发布的一份报告。原文链接点击这里
这份报告是根据Laurie Voss (NPM的联合创始人、COO)在npm and the Future of JavaScript上的演讲整理的。没有任何数据数据是完美的。如果你有任何的疑问,你可以阅读这篇文章,看下我们是怎么聚合这些数据的。
NPM拥有超过1000万用户,每个月下载超过300亿个包。每周二是NPM访问量最大的一天。用户平均在这一天下载超过13亿JavaScript开源代码包。通过分析这些下载数据,我们可以看到JavaScript开发人员们都在从事哪方面的工作。除此之外,我们还和Nodejs Foundation 、JS Foundation 进行了合作,对16,000名开发者进行了调查,询问了他们正在从事哪方面的工作。
通过上面两种方式,我们发现了npm社区的内在组成以及社区的趋势。这将为你在2019年进行技术选型提供帮助。
JavaScript是世界上最流行的程序开发语言JavaScript如此流行对任何人来说都不是一个新闻了。Stack Overflow 2018年的开发者调查显示,JavaScript是最流行的开发语言,其次是HTML和CSS。GitHub最近的Octoverse报告给出了所有开发语言pull requests数量的排名,JavaScript也是位列第一。
JavaScript开发者的总数量是很难计算的。 Slashdata’s 2018 survey 报告指出,2017年末,JavaScript开发者数量为970万,并且在高速增长。这意味着当前至少已经有1000万开发者了。npm已经有超过1000万用户了,同样在高速增长。不过一部分开发者仍然还没使用过npm,不过这部分开发者的占比很小,估计小于10%。
NPM促进了JavaScript的流行JavaScript是唯一可以开发web应用的语言,毫无疑问,JavaScript的流行与这一点是分不开的。不过,根据伯克利大学的这篇文章来看,拥有丰富的开源库,是开发者在选择一门开发语言时,最重要的因素。
我们自己的调查也支持了这个结论。开发者选择JavaScript最常见的原因是可用库的数量。
npm拥有超过836,000个可用的开源库,是目前世界上最大的开源库集合。不过,JavaScript更多的是小型库,数量多也是情有可原的。这么巨大的开源代码量,也表明了JavaSciprt和npm的流行是相互促进的。
npm被用来构建各种应用我们询问了开发者,他们写的JavaScript运行在哪里。93%的人回答他们用来开发web, 70%的人表示他们在服务端使用JavaScript,例如Node.js。当然,还有其他的领域:物联网、桌面应用、端应用等等。
这对于在npm官方工作、维护npm命令行工具的我们,是一个显著的变化。npm起初是为了服务端应用而诞生的,而web开发者的需求是不一样的。成为一个主要为web端服务的平台,改变了我们的优先级,于是,我们开发了例如package-lock.json的新功能。
npm对web开发来说是必须的当npm在2014年诞生的时候,使用几十个JavaScript包是很典型的。如今,一般的web应用都会使用超过1000个模块,超过2000个模块的也不少。事实上,现代web应用中,97%的代码都来自npm。开发者只需要对剩下的3%代码负责,就能使他们的应用跑起来了。
这对代码复用,npm社区以及开源界来说是巨大的成功。不需要在数千个模块中创建代码,为数百万开发人员节省了数以亿计的编码时间。
2018年,npm将专注安全对于大多数开发者来说,npm已经成为了开发一个网站的方式。这对于我们来说是责任。在我们的调查中,77%的开发人员担心他们使用的库的质量与安全性,52%的人认为他们所使用的库是不值得信任的。
4月份,我们发布了Node Security Platform。如今,Node Security Platform已经集成到了npm中。每一次npm的安装都会有安全审核,告诉开发者他们是否正在安装一个不安全的模块。我们还提供了通过自动安装模块的安全版本来轻松纠正这些漏洞的工具。总之,我们坐了很多事,来保障安全 。
npm用户特征我们调查对象的基本特征在之前发布的报告中涵盖了。但有一些事实需要注意。
1.很多新人。25%的开发人员使用JavaScript不到两年,51%的人使用npm不到两年。这是社区不断壮大的副作用。
2.大部分是自学的。69%的npm用户是自学的JavaScript,22%的人是在工作中学习的。
3.不仅仅使用JavaScirpt。npm的使用者并不都是严格的JavaScript开发者 —— 30%的人还使用Java,30%还使用PHP,30%使用Python,还有其他的一些语言。
4.并不在科技公司工作。55%的npm使用者表示他们并不在一个可以被称为【科技】公司的地方工作。
同时,在某些方面,npm用户与软件开发人员并没有什么不同,这本身是很有意思的事情。比如,npm使用者在各种规模的公司工作,与这些公司的分布比例大致相同。JavaScript并不是一个""大公司技术"或"小公司技术"。npm用户分布在各个行业,也有着不用的年龄段以及受教育程度。
每个人都希望少用工具2018年的JavaScript,在某种程度上是令人诟病的。因为你需要引入很多的工具才能让代码跑起来。这和2014年的情况是相反的。2014年的时候,Node.js被认为是一个 "包含所有" 的框架。今天,绝大多数的开发者根本不会把Node.js当做一个框架。诚然,我们所有的被调查者都希望使用更少的工具,更少的配置就能开始开发,也希望看到更完善的文档。那么,他们喜欢的是什么样的工具呢?
今年初,我们深入调查了各种JavaScript框架的流行度,报告在这里part1、part2、part3。我们不会在这里复述所有的分析结果,但我们可以一起来看看从过去的9个月都发生了些什么。
React的增长放缓了React继续统治web榜。在npm的调查中,超过60%的受访者表示他们正在使用React。这个比例比年初时已经有不小增长。但是,React在2018年的增长速度较2017年已经放缓了。
Angular的下载量保持平稳两种最主要的Angular版本结合起来,在时长份额方面基本保持不变。
Ember的流行程度反弹了一个非常不寻常的现象,Ember的受欢迎程度本来在下降,但却迎来了强劲的反弹。到9月份,使用Ember的开发者人数已经比年初时的两倍还多。我们将继续关注这个情况。我们认为,Ember的反弹是React增长放缓的原因之一。
Vue继续强劲增长Vue在2018年继续强劲增长。许多Vue的使用者表示,他们之所以放弃React选用Vue,是因为Vue在保持扩展性的同时,比较容易上手。目前我们的观点是:许多新用户选择使用Vue,导致了React的增长放缓。
GraphQL持续高速增长GraphQL,根据其最受欢迎的客户端库Apollo来看,正在变得越来越受欢迎。我们认为它将在2019年成为新的热门技术。
编译依然由Babel领衔,不过有一个惊喜 - TypeScript所有的React使用者来说,Babel并不陌生,它被用来将React下一代的JavaScript转换成现在的语法标准。React占据了60%的市场份额,而65%的npm使用者正在使用Babel(Babel也在React的生态之外被使用).
令人略有意外的是,46%的受访者表示他们正在使用微软的带有类型检查的JavaScript - TypeScript. TypeScript的大量使用,也许预示着开发者书写JavaScript的方式将彻底改变。我们将在下一次的调查中,更多关注TypeScirpt的使用情况。
npm对于2019年的预测JavaScript拥有一个巨大,多变,快速发展的生态,对其进行预测是困难的。但是我们的数据可以使我们对2019年进行一定的预测。
你将会放弃你现在使用的工具。JavaScript的框架和工具更新很快。框架的平均流行周期是3-5年。随着人们都在维护遗留的应用程序,框架的流行程度渐渐衰退。当人们开始新的工作时,他们将使用新的框架。做好准备学习使用新的框架吧,不要死抓住你现在的工具不放。
尽管增速放缓,React在2019年仍将是最有统治地位的框架。60%的web框架时长份额是前所未有的,部分原因是:React并不是一个完整的框架,而只是其中的一部分。这使得React可以在更多场景灵活使用。2019年,更多的人会使用React来开发web应用,这将为React在教程、建议以及Bug修复上带来优势。
你需要学习GraphQL。在生产环境中使用GraphQL或许过早了,特别是在你的Api都已经完成的情况下。但是2019年,你应该有意识的接触GraphQL的概念了。当你在2019年末、2020年参与新项目时,这将是你使用GraphQL的好机会。
你们组的同事将会引入TypeScript。46%的使用率表示TypeScript不仅仅是一个发烧友的工具。人们是真正体会到了类型检查提供的安全性所带来的好处。特别的,当你身处一个大组时,考虑在2019年使用TypeScript吧。
保持淡定我们可以十分确信的做出预测:社区将会继续高速发展,JavaScript将会拥有很多的能力。随着它的增长,我们将记录新的趋势,并与社区分享我们的见解。你可以订阅我们的周报,在twitter上关注我们,以了解最新的行业动态。
写在最后本文逐句翻译了NPM官方的报告,符合预期。欢迎关注公众号:
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/100286.html
摘要:也能帮你写代码了微软和团队一起推出扩展,预览版可以在插件市场直接查找安装。微软宣布将采用内核这对于诸多的前端开发者而言,无疑是本年底最大的福音具体的计划可以参考官网的博客,在不久的将来,基于的浏览器将要正式和我们见面啦。 订阅 / 投稿:https://github.com/txd-team/monthly本期小编: Hkmu (扶容) / x-cold (尹挚) 新闻快报 npm ...
摘要:也能帮你写代码了微软和团队一起推出扩展,预览版可以在插件市场直接查找安装。微软宣布将采用内核这对于诸多的前端开发者而言,无疑是本年底最大的福音具体的计划可以参考官网的博客,在不久的将来,基于的浏览器将要正式和我们见面啦。 订阅 / 投稿:https://github.com/txd-team/monthly本期小编: Hkmu (扶容) / x-cold (尹挚) 新闻快报 npm ...
摘要:也能帮你写代码了微软和团队一起推出扩展,预览版可以在插件市场直接查找安装。微软宣布将采用内核这对于诸多的前端开发者而言,无疑是本年底最大的福音具体的计划可以参考官网的博客,在不久的将来,基于的浏览器将要正式和我们见面啦。 订阅 / 投稿:https://github.com/txd-team/monthly本期小编: Hkmu (扶容) / x-cold (尹挚) 新闻快报 npm ...
摘要:在整个年,看到发布版增加了许多功能,包括新的生命周期方法新的上下文指针事件延迟函数和。它在等待渲染异步响应时数据,是延迟函数背后用来管理组件的代码分割的。发布自第版开始将近年后,于年发布。 前端发展发展迅速,非常的快。 本文将回顾2018年一些重要的前端新闻,事件和 JavaScript 趋势。 想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你! showImg(ht...
阅读 1654·2021-09-26 09:55
阅读 5247·2021-09-22 15:40
阅读 2012·2019-08-30 15:53
阅读 1497·2019-08-30 11:15
阅读 1713·2019-08-29 15:41
阅读 1869·2019-08-28 18:13
阅读 3145·2019-08-26 12:00
阅读 1667·2019-08-26 10:30