前端框架现状调查

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%的受访者更喜欢使用Gulp,而Grunt的这一数据仅为26.25%。此外,17.2%受访者表示,他们根本不使用任务执行器。不过,总的来说,大部分前端开发人员都认识到了,使用此类工具可以很好地在项目和团队之间保持一致。

最后一个问题是关于包和工作流管理。大部分受访者都可以熟练使用NPM和Bower,相比之下,大部分受访者根本没有听说过Ender。另外,Yeoman在Ashley看来是最有用的工具之一,但只有22.13%的受访者可以熟练使用,他认为这个比例太低了。

对于上述结果,Ashley认为,一方面,在前端开发领域,前端工具的使用率已经相当高。CSS预处理\后处理工具、JavaScript模块打包器或者任务执行器是前端开发人员工具库的重要组成部分;另一方面,JavaScript测试工具的使用还比较少。

调查还会持续一段时间,Ashley会在数周后再次修正结果。读者可以继续参与调查。

感谢郭蕾对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至[email protected]。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群InfoQ好读者)。

你可能感兴趣的:(前端框架现状调查)