Skip to content
导航栏

全球web开发趋势

数据来源: https://2022.stateofjs.com/zh-Hans

stateofjs是著名的JavaScript 生态的年度开发者调查项目。22年度调查收集到了39,472份回答。向我们展示了目前国际上面前端的发展趋势

从业者统计

受访者主要来自美国、德国、法国、英国、印度、波兰、巴西等地区,69.5%使用英语。年龄呈正态分布,中位数在24~34岁之间。工作年限分布,2~5年和5~10年区间均占20%以上。80%的人有高等教育学位,40%是科班出身。公司规模在100~1000占比16.7%,1000以上占比15.3%。薪资的峰值在50k~100k之间,占比20.6%。男性占比93%,白种人或欧洲裔占比68.8%。视觉障碍占比20.9%。

JavaScript语言新特性

语言特性介绍

语言特性使用占比(%)
空值合并运算符(??)69.9
String.prototype.replaceAll()52.1
顶层await50.3
Promise.allSettled()46.4
动态import()46.4
String.prototype.matchAll()32.4
Array.prototype.at()31.1
Promise.any()30.9
类私有域25.9
Object.hasOwn()25.2
Proxy24.9
数字分隔符23.9
Temporal23.1
逻辑与赋值运算符(&&=)16.7
Array.prototype.findLast()15.5
正则表达式匹配索引11.1
Error.prototype.cause7.5

浏览器新API

浏览器特性使用占比(%)特性介绍
WebSocket API62.9WebSocket API
Shadow DOM42.1Shadow DOM
Service Worker API40.8Service Worker API
Intl38.2Intl
Geolocation API38Geolocation API
Custom Elements35.3Custom Elements
文件系统访问 API29.7文件系统访问 API
Web Animations API27.7Web Animations API
WebGL20WebGL
页面可见性API16.9页面可见性API
WebRTC API16.1WebRTC API
Web Share API11.1Web Share API
Web Speech API10Web Speech API
Broadcast Channel API7.6Broadcast Channel API
WebXR Device API2.5WebXR Device API

其他特性

其他特性使用占比(%)特性介绍
渐进式 Web 应用(PWA)58.3渐进式 Web 应用(PWA)
WebAssembly17.5WebAssembly

前端库总体发展趋势

随时间变化

用时间、使用率、受欢迎程度三个维度来衡量一个库的发展趋势。每条线段代表一个库,时间从2016年到2022年,横轴表示受欢迎程度,纵轴表示使用率。

随时间变化

如何分析这张图呢,例如Rollup这个库:

rollup

使用人数比例看纵轴,起点是2017年,整体趋势向上。表示从2017年比例开始逐年上升,2021年之后暂时维持不变,但使用率仍然在半数以下。

欢迎程度看横轴,起点是2017年,整体趋势向右。表示从2017年欢迎程度向好,2020~2021维持不变,2021~2022欢迎程度有所下降,总体被大部分人看好。

满意度排名

使用率大于10%的库进行的满意度排名。

rank

满意度对比使用率

该图表展示每项技术的留存率与其总的用户数。 它可以分为四个象限:

  1. 低使用率,高留存率。值得密切关注的技术。
  2. 高使用率,高留存率。可采用的安全技术。
  3. 低使用率,低留存率。目前难以推荐的技术。
  4. 高使用率,低留存率。如果若正在使用这些技术,需要重新评估它们。

overview

INFO

这一部分详细数据参考:https://2022.stateofjs.com/zh-Hans/libraries/

不同类型的前端库发展趋势

衡量标准

按照前端框架、渲染框架、测试工具、移动端和客户端、构建工具、单仓多项目工具分类。关注同一类型下长期比率、体验的趋势。用于评估已有项目和新项目选型。

长期比率

不包含认知率低于10%的技术。 每个比率定义如下:

  • 满意率:会再次使用 / (会再次使用 + 不会再次使用)
  • 关注率:想学习 / (想学习 + 不感兴趣)
  • 使用率:(将再次使用 + 将不再使用) / 总计
  • 认知率:(总计 - 从未听说过) / 总计

随时间变化的体验

技术体验随时间变化的概览。

积极/消极体验拆分图

用户的积极体验(想学习,会再次使用)和消极体验(不感兴趣,不会再次使用) 分别呈现在中轴两侧。 柱状的厚度代表了解某一技术的访问者数量

前端框架

front_end_frameworks_experience_linechart

front_end_frameworks_section_streams

front_end_frameworks_experience_marimekko

渲染框架

rendering_frameworks_experience_linechart

rendering_frameworks_section_streams

rendering_frameworks_experience_marimekko

测试工具

testing_experience_linechart

testing_section_streams

testing_experience_marimekko

移动端和客户端

mobile_desktop_experience_linechart

mobile_desktop_section_streams

mobile_desktop_experience_marimekko

构建工具

build_tools_experience_linechart

build_tools_section_streams

build_tools_experience_marimekko

Monorepo 工具

monorepo_tools_experience_linechart

monorepo_tools_section_streams

monorepo_tools_experience_marimekko

其他工具

统计其他工具在受访者中的使用频率

用法

这一部分是受访者使用JavaScript的用法习惯。

有73.3%的用户使用TypeScript比JavaScript更多

84.7%的用户是专业的开发人员

98%用JavaScript写前端应用,65%用JavaScript写后端应用,移动端和桌面端分别有26.9%和20.1%的用户

应用的渲染模式来说,在项目中有91.3%的SPA,54.6%的SSR,42.4%的SSG,38.5%的MPA

用户行业分布情况,主要还是集中在互联网、电商、金融、教育、销售、媒体等行业

资料

有关JavaScript相关的学习路径、技术资料、自媒体等统计

入门学习方法统计来看,56.4%的用户是靠自学,另外通过免费在线课程、视频、书籍学习的人分别有40.6%、38.8%、25.7%

常用的博客和杂志有这些,比较大的博客平台,比如头部的 Medium 和 Dev.to 通常有知名的技术专家,资讯和消息都比较新

常用网站,可以看出有这几类:问答网站 Stack Overflow、官方资料网站 MDN / W3Schools / Web.dev、学习培训网站 Udemy / freeCodeCamp / Codecademy

播客的用户比较少,这里主要是访谈和讨论的节目

常见的视频博主:

其他调查问卷:

观点

可以明显看到18年到19年的时候,人们的观点发生了一些变化。先不去讨论这个统计网站的问卷样本是否存在波动,回顾一下18年发生了什么。

2018年,webAssembly发布了1.0版本;React v16版本发布,其中重要特性是Hooks和Suspense API;Vue的GitHub Stars超过React,Vue3放出了新的PPT;静态站点生成刚开始兴起,Gatsbyjs和Next.js初见雏形;TypeScript的npm下载数量大幅增长;Edge浏览器采用Chromium内核。

诸如此类的变化,目前无法评价5年前是否有什么大的技术突破,但从今天的观点来看,整个社区还是朝着一个大体的方向前进,不断演进。下面来看一下具体的统计结果:

超过76%的用户认同JavaScript正在朝着正确的方向发展

构建JavaScript是否过于复杂这个问题,大家对此褒贬不一

JavaScript生态系统的变化是否过快这个问题,大家的理解也没有达成一致

JavaScript痛点,排名前三是:代码架构、依赖管理、状态管理

JavaScript缺少的特性,排名前三是:静态类型、标准库、更好地日期管理

网络技术满意度,76.2%的人偏向满意

JavaScript总体状况,75.3%的人偏向满意