全栈算力,加速行业AI落地 了解详情
写点什么

前端框架现状调查

  • 2015-09-14
  • 本文字数:1521 字

    阅读完需:约 5 分钟

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

2015-09-14 19:007293
用户头像

发布了 1008 篇内容, 共 376.2 次阅读, 收获喜欢 342 次。

关注

评论

发布
暂无评论
发现更多内容

探秘密码学:深入了解对称加密与密钥协商技术

京东科技开发者

网络安全 密码学

话题讨论 | 作为开发你是如何阅读源码的?

程序员小航

话题讨论

Seata是什么?一文了解其实现原理

vivo互联网技术

分布式 分布式事务 分布式架构

架构师训练营第 1 期第 11 周作业

owl

极客大学架构师训练营

第七周总结

小兵

基于区块链技术落地应用开发-食品溯源

13828808769

第十一周 安全稳定总结

蓝黑

极客大学架构师训练营

阿里云Lindorm与Intel、OSIsoft共建IT & OT超融合工业数据云

许力

数据库 大数据 IoT 工业互联网 工业物联网

话题讨论 | 未来十年,你认为哪门语言将要脱颖而出

soolaugust

话题讨论

Spring 源码学习 08:register 注册配置类

程序员小航

Java spring 源码 源码阅读

我是程序员,我用这种方式铭记历史

kokohuang

Hexo GitHub Pages python 爬虫 中国历史 铭记历史

低成本快速上链 智臻链开放联盟网络正式对外开放

京东科技开发者

区块链 京东

线程上下文切换,这些是你需要掌握的

田维常

系统上下文

话题讨论 | 2020年你有什么推荐的书

soolaugust

话题讨论

话题讨论 | 程序员摸鱼的时候都喜欢干些什么

soolaugust

话题讨论

App自动化《元素定位方式、元素操作、混合应用、分层设计、代码方式执行Pytest 命令》

清菡软件测试

App

什么是工作流?工作流有什么作用?怎样配置工作流程?

Marilyn

敏捷开发 工作流

手撸一个在线css三角形生成器

徐小夕

CSS css3 大前端 CSS小技巧

话题讨论 | go、php 、java、python、cpp谁才能成为后端的主流

sinsy

Java c++ php 话题讨论 Go 语言

花火交易所APP软件系统开发(现成)

系统开发

智慧公安情报指挥合成作战管控平台开发

t13823115967

智慧公安情报研判系统开发 智慧公安 合成作战管控平台

架构师训练营第 11 周学习笔记

郎哲158

公安情报研判管控分析平台建设解决方案

t13823115967

智慧公安情报研判系统开发 智慧公安 情报研判管控分析平台

突破容量极限:TiDB 的海量数据“无感扩容”秘籍

京东科技开发者

分布式数据库 #TiDB

架构师训练营第 1 期第 11 周总结

owl

极客大学架构师训练营

第十一周 安全稳定作业

蓝黑

极客大学架构师训练营

架构师训练营 11 周作业

郎哲158

CSS flex 排版与动画 — 重学 CSS

三钻

CSS 大前端 排版 Flex

KMP —— 字符串分析算法

三钻

算法 大前端 KMP

源码深度解析 Handler 机制及应用

vivo互联网技术

android 客户端开发

话题讨论 | 深入浅出Linux内存管理,图解物理内存和虚拟内存

程序员柠檬

话题讨论

前端框架现状调查_JavaScript_谢丽_InfoQ精选文章