@qinyun
2017-12-28T18:14:03.000000Z
字数 3871
阅读 1481
未分类
你知道JavaScript的现状吗?你知道JavaScript中哪些库最受欢迎吗?你知道使用哪些库的开发者工资最高吗?最近JS开发团队对前端到后端相关的主题向全世界超过28000名开发者提出了的100多个问题进行问卷调查,现在我们在这里和大家分享这个调查结果,相信大家看完全文会对JavaScript有自己的思考。
当谈论JavaScript时,你不仅仅是在谈论单一的语言,而是要明白这是一系列的工具类型汇集到同一个目标上,虽然ES6现在已经是一个行之有效的标准,但是有朝一日,TypeScript的崛起可能会对其产生挑战,而TypeScript正迅速成为JavaScript领域的领导者。
根据对JavaScript的语言使用情况调查,发现使用人数top5从大到小的顺序为:ES6>“Plain" JavaScript(ES5)> TypeScript>Flow>Elm>ClojureScript>Reason,虽然ES5的使用率很高,但是我们注意到它的满意度很低,将近有一半使用过它的开发者表示不会再用,而Tyscrip由于正在使用和对其有兴趣的开发者较多,在今后可能会进一步发展,正如上文说,它可能会对ES6的地位造成威胁。
而根据调查,开发者对这些库打了4分(5分制,下同),说明这些库整体来说还是不错的。
根据对中美对这些库的使用率和世界平均水平进行对比,发现中国开发者更倾向使用ES6和Flow,而美国开发者更偏好ES5。
JavaScript上的斗争主要是由前端框架主导的,使用量top5(从高到低)为:React、Angular 1、Vue.JS、Angular 2、Backbone,其中,React仍然是这方面的主要玩家,Vue发展很迅猛,已经超越Angular 2成为了第三大使用量最高的框架,Vue在Angular的流行度下降之后获得了巨大的收益 ,也许到了明年,这张图表会变得很不一样。
再来看各个框架在中美的使用情况,可以发现Vue在中国的使用率远高于世界平均水平的,包括阿里巴巴和百度在内的公司都在使用Vue,据Vue的作者尤雨溪的说法:“Vue有非常完备的中文文档,所以大大促进了Vue在中国的应用。”
最后,开发者对这些库整体打了3.8分(5分制)。
除了上面的主要框架,还有其他一些在前端领域使用量较少的框架,排在前三的是Preact、Elm和Knockout,据说Preact是React的开源替代产品,这个库拥有最轻量级的框架和最优秀的性能,使其成为React的诱人替代品。
状态管理重组了客户端和服务器上数据管理的解决方案,在客户端上,Redux仍然是无可争议的领导者,但是GraphQL的兴起可能会动摇Redux的地位,它产生的巨大吸引力可能会在不久的将来推动Relay Modern和Apollo等库的发展。
调查结果显示,美国对这些库的使用率和世界平均水平相差不大,而中国则有很大差异,Redux和MobX相对而言在中国更受欢迎。
开发人员对这些库的总体打分为3.5分。
在被提及的其他状态管理库中,各种库的使用量都不算高,呈两级分化模式,除了VueX和MongoDB,其他的基本都在100以下,说明开发者使用的状态管理库集中度比较高,用的基本都是主流的那几种库。
在后端上,使用量排在前三的的是Expresshe、Koa和Meteor,但很明显,Express几乎是处于霸主地位,能够与Express竞争的很少,尽管多年来Moteor也一直在发展,但可惜的是,我们似乎还并不能充分利用它。据调查,开发者对这些库的整体打分为3.5分(5分制)。
根据对中美开发者的调查对比发现,中国开发者相对其他国家来说十分偏爱Koa,但Exprss的使用率是却远低于世界平均水平。
在其他库的排名中,各个库的使用量呈现逐渐递减的模式,图上相邻两个库的数据相差不大,最高的Node.js使用量也不过一百多。
和Javascript界的其他领域一样,测试领域的竞争也很激烈,版本更新快,功能和性能常被拿来做比较,框架之间的“战争”也是水深火热,根据上图,毫无疑问,Mocha和Jasmine现在是测试领域主流的框架,但同时Jest和Enzyme也从测试封装工具中脱颖而出,获得了非常高的评价,未来可期。
调查结果显示,中国在Jest、Ava和Mocha的使用量是高于世界水平的,Jasmine低于世界平均水平,相反,美国开发者却比较偏好Jasmine。最后开发者对这些库打了3.2分,相对其他领域的库来说,分数较低。
在新的CSS-in-JS方法如样式组件中已经做了很多的工作,尤其是在React生态系统中。但是结果显示,目前开发者仍然更信赖如SASS/SCSS、Plain CSS这些主流库的安全性。
上图显示,在CSS对各种库的使用上都是与世界平均水平想接近的,但是中国几乎在每一种库上都和世界平均水平存在差异:中国开发者更偏爱LESS,在SASS/SCSS上却远低于世界平均水平。
同时,开发者对这些库打了3.8分。
在CSS领域,除了上面主流的几种库,其他的小众类型库的使用量也不低,尤其是PostCSS、Bulma和semantic UI。
除了NPM之外,Webpack仍然是构建工具的王者,这无疑是Create-React-App和Next.js这样的no-config Webpack包装工具的使用量上升导致的。这也可能是把双刃剑:如果有更好的选择,这些库会毫不迟疑地转向它。
除了Webpack,在其他几种主流库上,中美和世界平均水平差异不大。
同时,开发者对这些库打了3.7分
由图易知,在其他库的使用中,开发者基本上用的是yarn,由于yarn是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处,所以它能受到那么多开发者的欢迎是有原因的。
PhoneGap/Cordova的使用率高,但满意度很低,这绝对不是好兆头。React Native最终可能会破坏当前的顺序,而且Native Apps也将是最可靠的解决方案。
然而,中国的开发者比较倾向于选择Electron和React Native,美国开发者却喜欢Native Apps。
在移动开发领域,在其他非主流型的库中,PWA、Weex、nw.js排名前三,他们各自的特点在这里就不详说了,我们知道PWA和Weex是近几年才火起来的,但是两者都还有很多坑要填,未来之路还很漫长。
以下是不太适合放在以上类别里的库。
在包管理工具中,开发者主要用的Yarn、npm和Bower,在这里yarn已经超过npm成为了王者,其原因是Yarn有很多npm没有的优点,主要表现在:Yarn的速度较快,支持并行安装、支持离线模式和安装版本统一等,所以Yarn也被认为是为了弥补npm的缺陷而生。
报告显示lodash的使用量是远远高于其他库的,它的使用量甚至是underscore的7倍之多,而4700多名开发者表示仍然在使用jQuery。
在文本编辑器方面,微软的VS Code使用量最高,其次是Atom和Sublime Text,它们分别位居第2位和第3位。
在Code Linters上,基本上可以一枝独秀来形容ESLint,不过Prettier也不容小觑,它的一大特点就是能够支持命令行、API 等多种形式调用,可以让团队保持代码风格一致,现在包括 React 在内的很多项目都已经开始使用了。
有81%的受访者表示JavaScript正朝着正确的方向前进,仍有57%的受访者表示构建JavaScript应用过于复杂,不过有82%的受访者表示喜欢JavaScript构建应用,并有65%的受访者将JavaScript当成其主要编程语言。
在这个调查中,我们提到的的每个库和工具都可以进一步细分为插件、安装包和其他扩展的列表。
我们还可以用已有的数据做更多的事情,例如,我们还没有分析哪些应用程序功能可以发挥最大价值,以及开发者对开发语言现状的看法,我们将在未来几周内处理这些结果。
总而言之,我们的结论和去年一样:JavaScript在不断地改进和发展中,这足够令人兴奋,因为你知道学习JavaScript永远不会让你感到无聊!
那未来会怎么样呢?JavaScript会成为主流吗?GraphQL真的会接管世界吗?JavaScript、Reason或Elm会成为默认的编程方式吗?只用一种方法可以找到答案:明年的年终调查——《2018 JS生态分析》。