BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

前端框架现状调查

| 作者 谢丽 关注 11 他的粉丝 发布于 2015年9月15日. 估计阅读时间: 5 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

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读者交流群InfoQ好读者)。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

两篇文章重了哦。。 by 孙 庚泽

extjs by l zelro

为什么js框架中没有Extjs?美国人不用吗?

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

2 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT