前段时间国外的开发者针对2017年JavaScript的现状做了一个调查并给出了相关调查报告。本文针对他的调查报告总结进行了翻译,如有问题欢迎留言。
我最近公布了2017年版年度JavaScript调查的结果,该调查覆盖了了23000多名开发者。
这份调查结果揭示了很多信息,从流行趋势到薪资细分。如果你还没有看过这边调查,你会想自己看一看。但在所有这些数据中,以下10点是最令我关注的。
即使您已经看到了调查结果,您也可能希望查看我们刚刚添加的新特性和意见。
1: React 最受欢迎
今年的结果证实了去年的趋势:React是目前最受欢迎的前端库。
图:React 拥有最多的满意用户(深紫色)
早期对React的批评(通常集中在HTML和JS混合的方式)现在看起来像是一个遥远的记忆。今年,Facebook 通过取消他们的“专利”条款,平复了开发者们的最后抗议。
在用户数量和开发人员满意度都处于历史最高水平的情况下,可以肯定地说,React是目前最受欢迎的,至少目前是这样。
2: Angular正在转向一个新的角色
这并不意味着你可以忽略Angular。虽然他已没有React那样的活力,但它有一些强大的基因在身上。
首先,Angular 有 Google 背后的支持。如你所知,一些业内最好的全职工程师在不断的改善Angular。
同时还有一个重要的点需要要指出,Angular仍然有一个庞大的用户基础。银行、政府和其他大公司并不能像一般的自由职业者那样迅速地采用最新的技术,他们通常有大量遗留的Angular代码需要维护。
图:“新” Angular(2+)vs “老” Angular(AngularJS):较小的采用率,但开发人员的满意度更高
但最后一点可能是最关键的:Angular 并不试图与React 正面对抗,而是重新聚焦于企业市场。看看 Angular 对 TypeScript的采用就可以知道:虽然它可能让一些开发人员望而却步,但这个决定也带来了企业应用程序所需的可靠性和安全性。
3: 你不能再忽视Vue.js了
Vue去年似乎毫无进展,在很短的时间内,它就成为了React最大的威胁。它可能没有 Angular 的原始用户基础,也没有 Ember 那么长期存在,但它有一些东西可以击败二者:势头。
图:Vue&React:开发者满意度对比(浅紫色与深紫色)
尽管Vue想击败React看起来还有很长的路要走,但是在提供完整的类似框架的体验方面,Vue可以说有更好的体验,这要归功于由同一个核心团队维护的官路由和状态管理库。
4: 了解一些库将帮助你拿到更高的薪资(但不是出于你可能想到的原因)
通过收集和交叉参照薪资数据,我们能够找到哪些技术是最有利的。
图:JavaScript 相关语言,平均薪资从低(左)到高(右)
事实证明,与最高工资相关联的通常是一种特殊的技术,比如 Polymer 或 Reason 。
图:JavaScript前端库,从最低收入(左)到最高收入(右)
现在,在你辞去你目前的工作,度过圣诞假期之前,你要记住,相关并不等于因果关系。
虽然Polymer开发人员的报酬可能更高,但也有可能是更高级的开发人员(当然收入更多)倾向于尝试更多样化的库。而初级程序员(从底层开始)则更倾向于专注于一两种主流技术。
所以,也许(仅仅是也许)总是追求的最新技术并不是赚大钱的关键。
5:2018年将是 GraphQL 的一年
如果你和大多数受访者一样,你已经听说过GraphQL,而且你很感兴趣,但是你还没有真正尝试过(提示:我专门为你写了一片文章 )。
REST wishes it had a logo this cool
事实证明,这是一个非常普遍的情况。在调查中提到的所有技术中,尽管目前的用户数量较少,但GraphQL是最令人感兴趣的技术之一。
图:那个大黄条代表了14k对GraphQL好奇的开发人员
谈到当前的用户,还值得一提的是,他们对GraphQL总体上非常满意。随着这种高兴趣和高满意度的结合,如果2018年是GraphQL最终跨越鸿沟成为主流技术的一年,那就不要感到惊讶了。
6: JavaScript != 前端
我们已经知道JavaScript不仅仅是在浏览器中使用的。毕竟,多年来,Node已经是一种非常流行的后端选择。
但在2017,JavaScript正在进一步扩展:像AWS Lambda 这样的平台允许您编写没有后端的后端代码,而物联网的设备越来越受欢迎,这意味着不久之后,您的烤面包机很可能也会运行JavaScript。
图:这款烤面包机使用的是Sack的桌面应用程序所产生的热量来烤面包。
如果这听起来很荒谬,请记住,今年最受欢迎的文本编辑器VS Code本身就是用JavaScript编写的,并作为一个 Electron 应用程序运行。
JavaScript 从成为显示横幅广告的工具开始,到为文本编辑器提供动力,都在几年的时间里。相信我,JavaScript 烤面包机可能会比你想象来的更快。
7:微软正在反击
说到 VS Code,这绝对是今年的大惊喜之一。虽然 Sublime Text 和 Atom 正在争夺文本编辑的霸主地位,但新人 VS Code 通过window闯入并偷走了他们的午餐。
一直以来,Sublime Text 有速度优势,但被一个不直观的UI所压垮,而 Atom 有一个很好的用户界面,但常常会感到迟钝。
VS Code
显然 VS Code 可能找到了正确的平衡。虽然它是构建在像 Atom 这样的 Electron 之上的,但是微软的工程师在提高性能方面做了很多工作。就像 Sublime 一样,它支持大量的插件和定制,虽然在一个更加用户友好的界面中,它只是工作包。
加上TypeScript 的兴起(稍后),而且微软好像终于把它和 web 开发整合在一起并表明它可以让开发者喜欢用它做更多事,而不是因为他们必须要。
8:世界各地的 JavaScript 各有不同
当我们谈到JavaScript时,我们通常会把它看作一个单一的、统一的生态系统。诚然,在各个地区都遵循着主流的趋势,但很有趣的是,每个国家都会在JavaScript熔炉中添加自己的调料。
例如,你知道 Vue 在中国非常受欢迎吗?这是有道理的,因为中国是 Vue 的创建者Evan You的母语国家,Vue 已经被阿里巴巴,百度等多家大型科技公司所采用。
另一方面,印度似乎更喜欢 Angular。这可能至少在一定程度上是由印度充满活力的外包行业推动的,Angular往往的是那种大企业项目的完美选择。
9:强类型 JavaScript 正在兴起
TypeScript. GraphQL. Elm. Reason. 这些都有什么共同点? 首先,他们都是看到快速增长的尖端技术。 其次,它们都依赖于类型。
TypeScript
虽然 JavaScript 开发人员长期以来一直享受着能够随心所欲地编写代码的自由,但如果没有编译器指出你的错误或警告,这种自由就会成为一把双刃剑:不那么可靠、容易出错。
但在 2017 年,情况终于发生了变化。 TypeScript 被广泛采用并不是巧合,开发人员也正在向类似IDE的文本编辑器(如 VS Code )迁移,以更好地利用强类型提供的额外功能。
10:JavaScript就是你想要的东西。
这项调查再一次显示了JavaScript生态系统的丰富程度。
似乎经过了多年的争论和忽视 JavaScript 之后,开发者社区终于找到了第三种选择:改进它。
JavaScript 基本上是能满足你任何想要实现的需求,它为语言变体和适应性敞开大门,而且这种趋势几乎没有停止的迹象。
这也许就是为什么大多数开发者都认为,尽管存在缺陷, JavaScript 语言仍然朝着正确的方向发展:
图:Javascript 正在变得更好