专栏首页企鹅号快讯给最后一周下个猛料,JavaScript 2017 使用调查!

给最后一周下个猛料,JavaScript 2017 使用调查!

"The State of JavaScript" 是由stateofjs发起,对Javascript生态现状进行的一个在线调查。至今一共进行了两次,分别是2016年和2017年,对基础语言,框架,状态管理,API,后端框架,测试工具,样式,构建工具和移动应用框架等做如下调查:

Never heard of it(从来没听过)

Heard of it, not intrested(听过,不感兴趣)

Heard of it, would like to learn(听过,感兴趣)

Used it before, would not use again(使用过,不会再用)

Used it before, would use again(会继续使用)

以上的几个指标可以反映出调查对象的影响力,印象,口碑等(通过选项1,2,3),以及语言现有用户数量,语言本身的能力,健壮性,友好程度,可扩展性等(选项4,5)。

本文会把两年的数据都放出来。既可以通过今年的结果判断一下当前生态的情况。也可以通过对比两年的数据,分析相关的趋势,发现很多有趣的事情。

参与调查的人数并不多,2016年为9k,2017年涨了三倍多,达到了28k。相信随着参与调查人数的增加, 整个调查会更加准确。

基础语言

JavaScript Flavors ( 2016 )

从2016年的数据可以看出当时绝大多数的人对ES6的认可,少部分人已经开始弃用原生JavaScript(ES5)。TypeScript用户量不多,观望用户态度二极分化,使用过的用户反馈尚可,仍然需要时间进行验证。CoffeeScript用户弃坑的比较多。clojureScript和Elm开始被一部分人接受。

JavaScript Flavors ( 2017 )

从2017年的数据对比可以看出,CoffeeScript已经脱离了我们的视野。

越来越多的人选择放弃ES5,使用ES6进行开发。TypeScript的用户上升,说明越来越多的人接受了“类型”概念并应用到实际环境中。同样是带类型检查的语言Flow在今年上榜,同去年TypeScript一样,需要时间的检验。Elm和ClojureScript仍然算小众语言,毕竟和自己的生态系统结合得太紧密了,很难在现有的应用程序中进行使用。

框架

Front-End Frameworks (2016)

从2016年的数据来看,Angular 2 刚发布不久,所以使用者较少。Angular1的用户数量很多,但是已经有很多开发者表示了不满意的态度。之前不使用框架的开发者,开始尝试使用框架。React的用户数和认可度遥遥领先。Backbone的开发者已经开始放弃使用。比较让人惊喜的是新兵Vue,就像我当时写的2016年回顾里面说的话,优秀的东西总是让人充满憧憬

Front-End Frameworks (2017)

从2017年的数据看,Angular1的用户持续流失,Angular2已经有超过老大哥的趋势。React可以说是一骑绝尘,口碑很好。Vue不负众望,稳定增长,收获了越来越多的关注。谁知道2018年统计之后会变成什么样子呢?

下面放一下世界范围内使用框架的平均值和中国本土的对比:

Wordwide Average:

China:

这张图以平均使用率为参考,展示各框架在区域的使用情况,上图是平均使用率,下图为中国区域的使用率。灰色表示平均值,蓝色代表使用率低,颜色越红代表使用越多。可以看出来在国内使用Vue的频率是要高出平均水平的。(一共有不到200个国人参与问卷,数量较少,可以从中看出大概的趋势)

状态管理

State Management(2016)

根据github上面的记录, 2015年6月2号 Redux 发布版本v0.2.0,2015年3月23号Mobx发布版本 v0.0.1,2015年3月5号,Replay发布版本v0.1.0。三个年轻的库在短短的时间里获得了如此多用户的青睐,说明了当前的前端应用已经足够复杂,状态管理正好可以解决这类应用里面的痛点。

2016年的调查把状态管理和API层分别做了处理。

REST API几乎得到了所有的开发者认可,没有什么太多的歧异。Firebase和GraphQL获得了足够多的关注,在相关领域可谓称得上优秀。

State Management & API(2017)

2017年把状态管理和API合并为同一个表。上榜的还是那几个。Redux在相关领域仍然遥遥领先。后面有没有什么变化,就看2018年的调查啦。

不过有一个是肯定的,如果这个调查放到国内,Vuex肯定会上榜!!

后端框架

Back-end Frameworks(2017)

16年并没有对后端框架做相关的调查,17年的结果并不出乎意料,Express一骑绝尘。可惜了Meteor和Koa,宣传做的好,真实的影响力并没有做上去。

测试框架

Testing(2016)

影响力比较大的仍然是Mocha和Jasmine,其他框架的影响力并不大。从图上看,Enzyme和Ava的口碑不错,就是知道的人少了点。

Testing(2017)

整体排名变化不大,排在前面的还是Mocha和Jasmine。最有进步奖可以颁发给Jest了,使用者和口碑都不错。Enzyme继续保持着良好的反响。

CSS样式

CSS(2016)

可以看到原生CSS和SASS/SCSS的使用频率是差不多的。从满意度来看,使用者更加偏向于SASS/SCSS。

CSS(2017)

SASS/SCSS成功超越原生CSS来到榜首。BootStrap已经从工具演变成了一种基石,非常多的人通过BootStrap构建他们的网站,而不是从0开始重新构建。CSS-Modules可以算为一种CSS-in-JS的实现。React等框架的使用,使得样式跟JS绑定的更加紧密。

构建工具

Build Tools(2016)

可以看到使用者对Webpack的满意度是最高的,Grunt被吐槽的最多。后起之秀Webpack还是解决了前辈很多问题的。

Build Tools(2017)

Webpack不负众望,我给他疯狂打call。NPM Script真的是很好用。Rollup也很好用,但是影响力不够。

移动应用框架

Mobile Frameworks(2016)

Cordova和PhoneGap由于太依赖browser性能而遭到诟病。React Native的满意度很高,影响力也足够了。NativeScript的使用量和影响力不够。

Mobile & Desktop Frameworks(2017)

2017年的调查把桌面应用框架Electron也放了进来。

PhoneGap/Cordova和Ionic都在走下坡路,说明RN的思路还是正确的,人民的内部矛盾,还是需要人民自己来解决。

结论

毫无疑问,构建一个JavaScript应用,是越来越复杂了。一个合格的前端工程师,不但要掌握语言本身,而且要学习浏览器特性,并且需要掌握构建工具,学会使用CLI命令行。

如果把2016年说成是前端风起云涌,百家争鸣的一年,2017年更像是沉帆远航的一年,主流语言和框架变化不大。现有的武器库已经非常丰富,拼的是稳定,性能,社区文化。开发者能够根据具体的使用场景进行选择。

Vue正在高歌猛进,Angular看上去不太招人喜欢,CoffeeScript已经被压了箱底。RN走对了路,PhoneGap和Ionic已经显出颓势。正如下面的歌词:People laugh and people cry. Some give up and some always try.Some say hi and some bye。

看到前端圈继续繁荣发展,各位应该感到高兴,我们正在见证一个属于前端开发者最好的时代。

今年最后一周了,祝各位2017年的愿望都能够实现。peace~

本文来自企鹅号 - 没事嘚吧嘚媒体

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 近三年全球自动驾驶发生160笔投资,总额达800亿美元

    雷锋网按:对于自动驾驶赛道上的玩家来说,2016年的意义绝非凡响。在这一年,不管是科技巨头,还是老牌汽车厂商,都争相在此砸入巨资以刷存在感,创业公司作为投资对象...

    企鹅号小编
  • 8个用于编写可维护,简化的前端代码的CSS策略

    前言 代码质量不仅适用于后端的Java或C语言,它也适用于CSS。继续阅读,了解如何编写出色的CSS! 编写基本的CSS和HTML是我们作为Web前端开发人员学...

    企鹅号小编
  • 2017年最佳的20款css工具

    1.Radiobox ? 小型CSS3动画集合,适用于表现无线电输入内容。 2.SpinThatShit ? 面向单一元素加载器与运行器的SCSS集合。 3.T...

    企鹅号小编
  • 大数据学习之路(持续更新中...)

    在16年8月份至今,一直在努力学习大数据大数据相关的技术,很想了解众多老司机的学习历程。因为大数据涉及的技术很广需要了解的东西也很多,会让很多新手望而却步。所...

    用户1154259
  • MySQL主从网络延迟解决

    由于业务要求,需要在国外和国内两台服务器之间做数据库主从,由于业务也不是很大,就简单部署了个主从就用了,开始也没什么问题,最近一段时间,可能是跨国网络不稳定,在...

    李俊鹏
  • 关闭删库跑路的后门,打造高可用的MySQL

    数据是当今Web,移动,社交,企业和云应用程序的流行货币。确保数据始终可用是任何组织的头等大事。几分钟的停机时间可能会导致收入和声誉严重损失。

    JavaEdge
  • 使用 Node.js 实现一个简单的 ZooKeeper 客户端

    Zookeeper 是一个分布式的、开源的协调服务,用在分布式应用程序中。它提出了一组简单的原语,分布式应用程序可以基于这些原语之上构建更高层的分布式服务用于实...

    腾讯IVWEB团队
  • 使用Node.js实现一个简单的ZooKeeper客户端

    什么是ZooKeeper Zookeeper 是一个分布式的、开源的协调服务,用在分布式应用程序中。它提出了一组简单的原语,分布式应用程序可以基于这些原语之上...

    IMWeb前端团队
  • 使用Node.js实现一个简单的ZooKeeper客户端

    分布式系统中的协调服务总所周知地难于正确实现,尤其容易产生诸如争用条件 (race conditions)、死锁(deadlock) 等错误。Zookeeper...

    IMWeb前端团队
  • Java开发常用工具

    Java开发常用工具 小贴士 Java是目前最流行的软件开发语言,其IDE环境也备受开发者关注,IDE可以极大的提高开发速 一 UltraEdit ? Ultr...

    老九君

扫码关注云+社区

领取腾讯云代金券