年底将至,JavaScript 开发者调查也已经结束,此次调查总共有 5000 份回复,我真的迫不及待要分享这次调查的细节,感谢所有的参与者,这是 JavaScript 社区伟大的时刻。
你写什么类型的 JavaScript?
97.4% 的受访者写 JavaScript 的 Web 浏览器,其中有 37% 写移动 Web 应用。
一些参与者回复,他们会在其他地方用 JavaScript,特别是在开发中的 CLI 和桌面应用。有少部分还会在 Pebble 和 Apple TV 上开发。这些归类到其他类别上,占总选票的 2.2%。
你在哪使用 JavaScript?
不出我所料,94.9% 的投票者用 JavaScript 工作。然而,有 82.3% 的投票者也在其他项目中使用 JavaScript。其他回复包括教学,好玩或者非盈利目的使用。
你写 JavaScript 多久了?
超 过 33% 的人写 JavaScript 代码超过六年了。除去那些精准回答的选票,5.2% 在一年前开始写 JavaScript,12.4% 两年前开始写 JavaScript,还有 15.1% 三年前写 JavaScript。总共有 32.7% 的人在近几年开始写 JavaScript。
你使用哪种 complie-to-JavaScript 语言,如果有的话?
85% 参与者表示,他们将 ES6 编译为 ES5。同时有 15% 使用 CoffeeScript,有 15.2% 用 TypeScript,只有可怜的 1.1% 使用 Dart。
这是我想要进一步合作的问题之一,因为它有 13.8% 的“其他”回复。这个问题绝大多数的答案是 ClojureScript、elm、Flow 和 JSX。
你喜欢哪种 JavaScript 文体选择?
JavaScript 开发者绝大多数似乎青睐分号,总共有 79.9%。相比之下,11% 的人表示他们不喜欢使用分号。说到逗号,44.9% 的人赞成放置后的表达,而 4.9% 的人喜欢用逗号第一语法。当涉及到缩进,65.5% 更喜欢空格,而 29.1% 的人更喜欢使用制表符。
你使用 ES5 哪个功能?
有 79.2% 的人使用 Array methods,并且有 76.3% 的人使用 strict mode。30% 的人使用 Object.create,而 getter 和 setters 只有 28% 的人使用。
你使用 ES6 哪个功能?
值得注意的是,Arrow functions 是本次调查中最常用的 ES6 特点,占了总票数的 79.6。Let and const
总共占 77.8% 的投票,Promise 功能依旧强劲,有 74.4 %的人选择了它。不出人意料的是,只有 4% 的人使用 proxies。只有 13.1% 的人用 Symbols,超过 30% 的人使用 Iterators。
你写测试吗?
有 21.7% 的人来不写任何测试,大多数人写一些测试,34.8% 经常写测试。
你运行连续集成测试吗?
和 CI 一样,很多人不用 CI 服务器 —— 超过了 40%。有 60% 的人偶尔使用 CI,有 32% 的人在 CI 服务器上运行测试。
你怎么运行测试
59% 的人喜欢运行和 PhantomJS 相似的自动化浏览器测试,51.3% 的人也喜欢在网络浏览器上人工测试。自动化服务器端测试则占了 53.3% 的得票。
你用什么单元测试库?
大多数人要么选择 Mocha 要么选择 Jasmine 运行 JavaScript 测试,Tape 收到 9.8% 选票。
你用什么代码质量工具?
似乎参与者都在 ESLint 和 JSHint 之间纠结,不过 JSLint 经过了这么多年依旧坚挺,几乎有 30%。
你怎么处理客户端的依赖?
Npm 接管客户端依赖管理体系,拥有 60% 的选票。Bower 依旧占据了 20% 的选票,而普通的 <script> 下载和插入获得13.7% 的选票。
你首选的构建脚本解决方案是什么?
Gulp 最流行,超过 40% 的投票。接下来的是 NPM,为 27.8%, Grunt 获得了 18.5% 的选票。
你首选的 JavaScript 加载工具时什么?
大多数参与者在 Browserify 和 Webpack 之间徘徊,而后者领先前者 7 个百分点。
你用什么库?
jQuery 依旧强劲,占据票数 50% 以上,而 XHR 微库只有票数的 8%。
你用什么框架?
不出人意料,React 和 Angular 处于领先地位。Backbone 也在靠前的位置,有 22.8% 的选票。
你用 ES6 吗。。。
有 20% 的人几乎从不使用它,有 40% 的人偶尔使用,接近 30% 的人广泛使用。
你知道 ES2016 有哪些特性吗?
粗略地说,有一半的人不知道 ES2016 有哪些新特性。
你理解 ES6 吗?
超过 60% 的人理解基本的概念,有 10% 的人完全不理解,有 25% 的人理解 ES6。
你会说 ES6 是一种进步吗?
近 95% 的人认为 ES6 是一种进步。
你首选文本编辑器是什么?
超过一半的人喜欢 Sublime Text,超过 30% 喜欢 Atom 和它的开源复制版。超过 25% WebStorm 和 vi/vim。
你首选的开发系统是什么?
超过 60% 的人用的是 Mac,而 Linux 和 Windows 用户接近 20%。
你如何找到可重用代码,库和工具?
受访者似乎赞成使用 Github 和搜索引擎,也有用博客、Twitter 和 npm 网站。
你参与 JavaScript 社交事件吗?
近 60% 的人至少参加一个会议,而 74% 的人表示,他们喜欢去的聚会。
你的 JavaScript 应用程序里支持什么浏览器?
很多样的答案,但幸运的是大多数的受访者没有使用 IE6 了
你了解 JavaScript 的定期最新的功能吗?
当 JavaScript 有更新时,80% 受访者保持会去了解。
你在哪里了解最新的 JavaScript 功能?
Mozilla 开发者网络在 JavaScript 领域和新闻更新上处于领先地位。JavaScript 周刊也非常流行,占了 40%。
这些功能你听说过吗?
超过 85% 的选民听说过 ServiceWorker,我很好奇有多少人用它!
除了 JavaScript,你还用什么语言?
有这么多的语言可供选择,我肯定会忘了一些,但结果不言自明。