StateOfJS 发布的 2021 年 JavaScript 现状调查报告 指出, 与 2016 年相比,JavaScript 现在的状态要好得多。在第一次进行 JS 现状调查时,TypeScript 的使用率只有 21% ,如今则有 69%。 其次是 Elm,为 2.4%,Flow 为 1.7%,CoffeeScript 为 1.4%。
受 2021 年事务繁多影响,此报告实际推迟到了 2022 年。今年共有 16,085 位受访者参与了调查;其中,使用英文的受访者占比(70.1%),其次分别为西班牙语(5.4%)、俄语(5%)、法语(3.3%)、德语(2.3%)以及简体中文(1.3%)。科班出身人员占比为 42.6%;22% 的受访者年收入在 50k 美元至 100k 美元之间。大约 71.3% 的受访者被确定为男性,女性占比为 4%。
JavaScript 可能发展得很快,但 JavaScript 开发人员的发展速度貌似更快,因为许多相对较新的特性已经显示出了很高的采用率。报告把 JavaScript 的特性分成了语言、浏览器 API 和其他特性三个部分。 下图根据分类划分,显示了各种特性的采用率; 外圈 的尺寸代表了了解这个特性的用户数量, 内圈 的尺寸代表了实际使用这个特性的用户数量。
其中,Optional Chaining 使用率最高,达到了 91.4%。其次分别为 Nullish Coalescing(77.9%)、 WebSocket (69.3%) 、Progressive Web App (64.4%)。
JavaScript 2021 大调查以象限图表示了 JavaScript 各技术这几年来的发展情况。每条线的使用时间从 2016 年到 2020 年。更高的分数意味着更多的人使用了这项技术;而右边的分数意味着更多的用户想要学习它,或已经使用过并且会再次使用它。
其中,Webpack、Express、React、tsc CLT 和 Jest 都是如日中天的状态,不只当前使用者多,也是很多开发者想学的技术。
1、JavaScript 现状 —— 前端框架
React 和 Vue 已经连续六年成为主要的 JavaScript 框架 ,使用率分别为 80% 和 51%;而 Angular 的使用率也达到了 54%。但在满意度方面,三者都有所欠缺;Angula 满意度排名持续下降,跌至倒数第二, Ember 排在最后 。反倒是 后起之秀 Solid 在满意度方面排名第一,达到 90%。。
2、JavaScript 现状 —— 后端框架(服务端)
后端框架领域基本无甚变化。Express 作为主流的后端框架依旧持续发力,Next.js 也在慢慢发展。满意度方面,新技术 SvelteKit、Astro 和 Fastify 以 90% 以上的分数领先,Gatsby 的满意度则在两年多的时间里从 89% 下降到了 51%。
3、JavaScript 现状 —— 测试
Jest 以 73% 的使用率蝉联最常用的单元测试框架榜首位置; 但 Testing Library 和 Vitest 等新兴工具也不甘示弱,满意度分列榜一榜二。
4、JavaScript 现状 —— 移动和桌面
Electron 仍然是使用最广泛的工具,React Native 是第二大用于原生应用程序开发的工具。和其他领域一样,新兴技术 Tauri 和 Capacitor 的满意度依旧是最高的。使用率排名第三的 Cordova 最不受欢迎,满意度逐年下降至垫底。
5、JavaScript 现状 —— 构建工具
报告称,2021 年可以说是 Vite 之年。Vite 不仅以 98% 的满意度首次亮相,而且第一年的使用率就已达到了 30%,甚至超过了 esbuild。e sbuild 才两岁,但其采用率也达到了 26%,与去年相比增长了 20.1%。
“Vite 并不是唯一一个试图改善 JavaScript 构建工具状况的工具 —— 在我们今天追踪的 12 个工具中,有 8 个的历史还不到两年。”
6、JavaScript 现状 —— Monorepo 工具
此次调查还首次展示了有关 monorepo 工具的数据。其中,pnpm、Turborepo 和 Nx 的满意度最高,Lerna 和 Rush 最低。受访者对 Turborepo 和 Nx 的兴趣最浓厚;但使用率方面基本相反,Lerna 和 Yarn Workspaces 并列第一,为 25%。
官方表示,接下来还有很多工作要做。
其他发现还包括:
- WebAssembly 已被 15.6% 的受访者使用,去年这一比例为 10.5%,2019 年为 7.2%。
- Node.js 是最常用的 JavaScript 运行时,占 71.5%。
- Python 在参与者使用的其他语言中名列前茅,占 24.8%。紧随其后的是 PHP,占 19%;Java 占 15.1%。
- 认为 JavaScript 发展过快的受访者比例为 38%,低于六年前的 59%。
完整报告 可查阅 : The State of Javascript 2021