Ashley Nolan 是来自英国食品速递公司 JUST EAT 的一名资深Web UI工程师。为了了解整个前端开发社区当前的知识和使用水平,他发起了一个 面向前端开发人员的调查 ,问题涉及CSS、“任务执行器(Task Runner)”、JavaScript等方面。前期,他收到了649份回复。近日,参与者数量达到了1044。因此,他 重新修正 了前期的统计分析结果,不过总体而言变化不大。
在Ashley的调查中,有2个问题是关于CSS预处理/后处理工具的。调查显示,使用 Sass 作为CSS预处理工具的受访者最多,占66%,使用 Less 的次之,占13.41%,还有一小部分受访者(4.21%)使用 Stylus 。另外,有13.5%的受访者在编写CSS时不使用任何CSS预处理工具。对于后处理工具 PostCSS 和 Rework ,能够“熟练使用(Feel Comfortable Using)”的受访者比较少,前者为8.91%,而后者仅有0.86%。特别是Rework,有75%的受访者都没有听说过。Ashley认为,这反映出CSS后处理对前端开发人员而言是一个非常新的领域。
有4个问题同JavaScript有关,涉及JavaScript库和框架、模块打包器及测试等三个方面。在有关前端开发者当前JavaScript知识水平的调查中,不出所料,能够熟练使用 jQuery 的受访者最多,比例高达91.5%,远远高于其它框架,而且没有人不知道这个框架。能够熟练使用 Undercore 、 AnjularJS 、 Backbone 、 React 等框架的受访者也比较多,比例分别为38.6、28.5%、18.6%、15.7%。 Ember 、 Polymer 、 Knockout 等框架也可以说是广为人知,但能够熟练使用的受访者占比仅为个位数。关于JavaScript库,Ashley后来追加了一个问题,“在大多数项目中,你使用什么JavaScript库或框架?”jQuery以极大的优势成为使用最多的框架,占比为56.53%,AnjularJS排名第二,占比为15.42%,其它框架占比均低于10%。值得一提的是Backbone,仅占2.36%。另外,有11.13%的受访者不使用任何JS框架,他们仅使用本地JS。
谈及JavaScript模块打包器,总共有将近一半(48.47%)的受访者使用模块打包器管理管理JavaScript中的依赖关系,其中17.7%的使用 Browserify ,13.6%的使用 RequireJS ,11.5%的使用 Webpack 。在JavaScript测试方面,58.91%的受访者不使用任何工具辅助JavaScript测试。在受访者使用的JavaScript测试工具中, Mocha 和 Jasmine 使用最多,占比分别为15.42%和15.23%。
另外,Ashley还调查了“任务执行器(Task Runner)”的使用情况。从NPM的下载统计看, Grunt 和 Gulp 的每月下载量相差不大,一个为145万次,一个为134万次。但调查结果多少有些出人意料,46.74%的受访者更喜欢使用Grunt,而Grunt的这一数据仅为26.25%。此外,17.2%受访者表示,他们根本不使用任务执行器。不过,总的来说,大部分前端开发人员都认识到了,使用此类工具可以很好地在项目和团队之间保持一致。
最后一个问题是关于包和工作流管理。大部分受访者都可以熟练使用 NPM 和 Bower ,相比之下,大部分受访者根本没有听说过 Ender 。另外, Yeoman 在Ashley看来是最有用的工具之一,但只有22.13%的受访者可以熟练使用,他认为这个比例太低了。
对于上述结果,Ashley认为,一方面,在前端开发领域,前端工具的使用率已经相当高。CSS预处理/后处理工具、JavaScript模块打包器或者任务执行器是前端开发人员工具库的重要组成部分;另一方面,JavaScript测试工具的使用还比较少。
调查还会持续一段时间,Ashley会在数周后再次修正结果。读者可以继续参与 调查 。
感谢郭蕾对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群 )。