前端框架现状调查

  • 谢丽

2015 年 9 月 14 日

话题:JavaScript语言 & 开发架构前端

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 预处理工具。对于后处理工具PostCSSRework,能够“熟练使用(Feel Comfortable Using)”的受访者比较少,前者为 8.91%,而后者仅有 0.86%。特别是 Rework,有 75% 的受访者都没有听说过。Ashley 认为,这反映出 CSS 后处理对前端开发人员而言是一个非常新的领域。

有 4 个问题同 JavaScript 有关,涉及 JavaScript 库和框架、模块打包器及测试等三个方面。在有关前端开发者当前 JavaScript 知识水平的调查中,不出所料,能够熟练使用jQuery的受访者最多,比例高达 91.5%,远远高于其它框架,而且没有人不知道这个框架。能够熟练使用UndercoreAnjularJSBackboneReact等框架的受访者也比较多,比例分别为 38.6、28.5%、18.6%、15.7%。EmberPolymerKnockout等框架也可以说是广为人知,但能够熟练使用的受访者占比仅为个位数。关于 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 测试工具中,MochaJasmine使用最多,占比分别为 15.42% 和 15.23%。

另外,Ashley 还调查了“任务执行器(Task Runner)”的使用情况。从 NPM 的下载统计看,GruntGulp的每月下载量相差不大,一个为 145 万次,一个为 134 万次。但调查结果多少有些出人意料,46.74% 的受访者更喜欢使用 Gulp,而 Grunt 的这一数据仅为 26.25%。此外,17.2% 受访者表示,他们根本不使用任务执行器。不过,总的来说,大部分前端开发人员都认识到了,使用此类工具可以很好地在项目和团队之间保持一致。

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

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

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


感谢郭蕾对本文的审校。

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

JavaScript语言 & 开发架构前端