前端框架现状调查【转载+整理】
有些还真没听过,比如 CSS 预处理/后处理,任务执行器~
Ashley Nolan是来自英国食品速递公司JUST EAT的一名资深 Web UI 工程师。为了了解整个前端开发社区当前的知识和使用水平,他发起了一个面向前端开发人员的调查,问题涉及 CSS、“任务执行器(Task Runner)”、JavaScript等方面。前期,他收到了649份回复。近日,参与者数量达到了1044。因此,他重新修正了前期的统计分析结果,不过总体而言变化不大。
在 Ashley 的调查中,有两个问题是关于 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 后处理对前端开发人员而言是一个非常新的领域。
有四个问题与 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 会在数周后再次修正结果。