-
Notifications
You must be signed in to change notification settings - Fork 4
/
js2023.yml
415 lines (306 loc) · 20.5 KB
/
js2023.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
locale: zh-Hans
translations:
###########################################################################
# General
###########################################################################
- key: general.results.description
t: 2023年 JavaScript 生态最新趋势的年度调查。
- key: general.livestream_announcement
t: 请务必于 2 月 22 日观看我们 [特别调查结果的直播](https://dev.to/sachagreif/state-of-javascript-2021-livestream-24a5) (英语)
###########################################################################
# Introduction
###########################################################################
- key: introduction.js2023
t: |
<span class="first-letter">我</span>现在应该很清楚,无论好坏,JavaScript 的发展速度并没有减慢。
在服务器组件、服务器操作、信号、编译器等方向,我们看到新的技术的出现的速度比我们大多数人能够学习的要快。
避免陷入“学不动 JavaScript”境地的技巧是你要从下面这两个选项中选择自己的道路:一条路是,你可以做第一个吃螃蟹的人,不停学习新技术,走在新技术最前沿;另一条路是,放慢脚步,专注于稳定、成熟的技术——并在它们最终冷却后学习新的热点技术。
说到慢慢来,您可能想知道为什么这些 2023 年调查结果要在 *2024 年* 六个月后发布。这是因为,启动新的 [state-of-html](https://2023.stateofhtml.com/) 调查、创新新问题格式、收集比以往更多的自由格式数据、重写数据可视化代码逻辑这四件事情工作量过于巨大占用了我们太多时间。
希望所有这些工作的结果是值得的。我们确实计划未来加快工作速度。
抛开这一切,让我们来看看 JavaScript 最近在做什么!
<span class="conclusion__byline">– Sacha Greif</span>
###########################################################################
# Tshirt
###########################################################################
- key: sections.tshirt.title
t: T恤衫
- key: sections.tshirt.description
t: |
## 通过 State of JS T恤衫来支持调查
在糟糕的视频质量、笨重的磁带和不得不倒带之间,VHS 时代并没有太多值得怀念的地方。 但我们*会*错过的一件事是 90 年代用于装饰空白 VHS 磁带的惊人视觉效果。
但是现在,多亏了才华横溢的 Christopher Kirk-Nielsen,你可以享受所有这些复古的光芒,同时也庆祝你对 JavaScript 的热爱!
- key: tshirt.about
t: 关于T恤衫
- key: tshirt.description
t: |
我们使用高品质、超柔软的三重混纺衬衫,修身版型。
- key: tshirt.getit
t: 买它
- key: tshirt.price
t: 29 美元
- key: tshirt.designer.heading
t: 关于设计师
- key: tshirt.designer.name
t: Christopher Kirk-Nielsen
- key: tshirt.designer.bio
t: |
Chris 来自法国,现定居美国,他不仅是一位出色的前端开发人员,也是一位擅长复古视觉效果的才华横溢的插画家。事实上,我们鼓励您也看看他的[其他 T 恤设计](https://chriskirknielsen.com/designs)!
###########################################################################
# Sections
###########################################################################
- key: sections.user_info.description
t: |
今年,**23,540** 受访者参与了调查。
为了帮助突出不同的声音并呈现更深入的见解,
我们提供了更多新方式来分析我们的数据。
- key: sections.features.description
t: |
JavaScript 的发展速度可能很快,但 JavaScript 开发人员的发展速度似乎更快,因为许多相对较新的功能已经表现出较高的采用水平。
- key: sections.technologies.description
t: |
今年的结果表明 JavaScript 生态的高度碎片化。虽然这有时会引起麻烦,但这些碎片化的竞争确实造就了一个非常有活力的生态系统。
- key: sections.tools_others.description
t: |
选择一项技术通常可以归结为在相互竞争的优先事项之间做出一系列艰难的选择,
今年我们尝试使用新的问题格式来捕捉这个过程。
- key: sections.environments.description
t: |
在 Web 开发方面,可访问性长期以来一直是事后才想到的,
但许多开发人员现在意识到,它实际上应该成为其他一切的基础。
- key: sections.resources.description
t: |
突出显示博客、播客和网站是一个好的开始,但今年我们决定更进一步,真正突出 JavaScript 社区的组成人员!
- key: sections.opinions.description
t: |
无论是当前阻碍您的痛点,还是缺少您希望后续使用的功能,
这都是您吐槽 JavaScript 的机会!
###########################################################################
# Charts
###########################################################################
- key: options.features_categories.language
aliasFor: sections.language.title
- key: options.features_categories.browser_apis
aliasFor: sections.browser_apis.title
- key: options.features_categories.other_features
aliasFor: sections.other_features.title
- key: blocks.tools_quadrant.description
t: |
该图表显示了每种技术的**留存率**和**用户数量**的关系。
它可以分为四个象限:
- **1**:使用率低,留存率高。值得关注的技术。
- **2**:使用率高,留存率高。采用安全技术。
- **3**:使用率低,留存率低。目前较难推荐的技术。
- **4**:使用率高,留存率低。如果您当前正在使用这些技术,请重新评估它们。
###########################################################################
# Notes
###########################################################################
- key: blocks.gender.note
t: |
如果您有兴趣了解更多信息,我们[写了一篇博文](https://dev.to/sachagreif/is-our-survey-biased-against-women-49oj) 阐述了调查的性别动态。
- key: blocks.source.note
t: >
此图表汇集了引用者、 URL 参数和自由格式答案的组合。
- State of JS: [State of JS](https://stateofjs.com) 的邮件列表。
- State of CSS: State of CSS 的邮件列表; 也匹配 `email`, `by email` 等等。
- Work: 匹配 `work`, `colleagues`, `coworkers` 等等。
###########################################################################
# Awards
###########################################################################
- key: award.feature_adoption_delta_award.comment
t: 随着在去年**{value}**的进步, **top-level await**已经迅速成为 JavaScript 不可或缺的一部分。
- key: award.tool_usage_delta_award.comment
t: |
**Vite** 仍然是增长最快的库,使用量逐年增长 **{value}**!
- key: award.tool_satisfaction_award.comment
t: Vite再次占据榜首,有**{value}**的开发者愿意再次使用它!
- key: award.tool_interest_award.comment
t: 你也许会猜测Vite仍然会占据榜首? 很接近,但是今年**Vitest**以**{value}**的数据拿下了开发者最感兴趣的技术的奖项。
- key: award.most_write_ins_award.comment
t: 在自由问题中,**Bun** 是提及次数最多的技术,共提及了 **{value}** 次。
- key: award.most_commented_tool_award.comment
t: React仍然是讨论次数最多的库,讨论条数共有 **{value}** 条。
- key: award.most_loved_tool_award.comment
t: Vite 凭借在所有开发者中拿下了 **{value}** 的积极评价,成为最受欢迎的技术!
###########################################################################
# Conclusion
###########################################################################
- key: conclusion.js2023.cassidy_williams
t: |
<span class="first-line">各位,这在互联网领域真是酷毙了的一年。</span>
有如此多有趣和令人兴奋的变化正在发生,我在键盘旁拿着爆米花,一边构建一边观察!
像 Preact、Solid 和 htmx 这样的“较小”库在积极评价方面超过像 Next.js 这样的大家伙,这一事实令人着迷。我们看到 Angular 开始有点复苏,但还不完全。我们看到开发者们不再钟情于一些行业头部的库。我们看到“Rust化”在前端领域在蓬勃发展。Astro 在开发者支持方面似乎已经开跑。
就实际的浏览器功能而言,感觉我们发展得太快,世界都跟不上了。这不一定总是坏事!但我完全赞同浏览器支持是我对所有新出的酷玩意的首要关注点这一观点。
话虽如此,我个人很喜欢使用一些新的数组功能,而且越来越多的开发者支持了PWA这一点也很棒。
明年,我们会继续改善调查结果的多样性,让更多的人参与开发,希望所有新的和令人兴奋的变化都变得更有趣,而不是令人生畏!感谢 Sacha 和团队让我参与其中,并进行了又一次很棒且有价值的调查。
线上见!
- key: conclusion.js2023.cassidy_williams.bio
t: 开发倡导者、工程师、开源贡献者
- key: conclusion.js2023.theo_browne
t: |
<span class="first-line">JavaScript 正在向服务器端转移,对此我们感到不自在。</span>
在去年的调查中,我们看到像 Next、Nuxt、Remix 和 SvelteKit 这样的服务器渲染框架的采用率迅速增长。今年,我们转向了服务器优先的模式,如Partial Hydration和Islands,它们的采用率翻了一番。
像 HTMX 这样的框架/库表明,不仅仅是 Web 开发人员从利用服务器中受益。单页应用程序(SPAs)不会消失(看看 [Inertia](https://inertiajs.com/) 就能证明),但随着这些新模式的不断改进,市场似乎也在跟进。
这种转变并非受到一致喜爱。React 持续增长,但 React 开发者越来越担心它的方向。走到这一步一直......很艰难,但每天都在取得进展。
我们还看到在 React 生态系统之外出现了更多的选择。从 [Nuxt](https://roe.dev/blog/nuxt-server-components) 到 [SolidStart](https://docs.solidjs.com/solid-start/reference/server/use-server) 再到 [Astro](https://astro.build/blog/astro-480/#experimental-astro-actions),所有最好的 React 服务器组件功能都在向每一位开发者推出。
当然,Vite 继续占据主导地位,是应用程序开发人员和框架作者的共同选择。很难想象如果没有它,我们今天会在哪里!
- key: conclusion.js2023.theo_browne.bio
t: “Ping”、“uploadthing”、“create-t3-app”的创建者以及视频创作者
###########################################################################
# Picks
###########################################################################
- key: picks.my_pick
t: "我的 2023 年选择:"
- key: picks.intro
t: 我们邀请 JavaScript 社区的成员分享他们的“年度最佳选择”
# https://leaddev.com/personal-development/how-build-trust-new-engineering-manager
- key: picks.emma_bostian.name
t: 作为一名新任管理者如何与各方建立信任
- key: picks.emma_bostian.bio
t: 工程经理、讲师以及“Ladybug Podcast”的联合主持人
- key: picks.emma_bostian.description
t: |
作为一名新任的管理者,我发现 LeadDev 上关于管理者技能的博客文章非常宝贵。对于任何希望提升领导力和管理技能的人来说,它们都提供了很棒的资源!
# https://pocketbase.io
- key: picks.fireship.name
t: Pocketbase
- key: picks.fireship.bio
t: 谷歌开发者专家、数据爱好者和油管博主
- key: picks.fireship.description
t: |
我今年的选择是 Pocketbase 项目——一个由 SQLite 驱动的开源后端。它的 JavaScript SDK 为 Web 开发者提供了构建一个严肃应用程序所需的一切,而且令人惊讶的是,可以作为单个二进制文件部署到任何 5 美元的服务器上。
# https://www.localfirst.fm/
- key: picks.rich_harris.name
t: localfirst.fm
- key: picks.rich_harris.bio
t: Vercel 的“开源麻烦制造者”。Rollup 和 Svelte 的创建者
- key: picks.rich_harris.description
t: |
如果您对软件的发展方向感兴趣,则可以收听此播客。它将让您重新对 Web 开发的未来感到乐观。
# https://tldraw.com
- key: picks.david_khourshid.name
t: tldraw
- key: picks.david_khourshid.bio
t: XState 的创建者和 [http://stately.ai](Stately) 的创始人
- key: picks.david_khourshid.description
t: |
tldraw 不仅仅是一个无限的画布,它还拓展了用户界面的可能性,从令人印象深刻的人工智能实验到对绘图细节的关注。它的源代码也很容易获得,我很欣赏它的状态机和可扩展的 API,可以进行非常多的定制化修改。
# https://replicache.dev/
- key: picks.dax_raad.name
t: Replicache
- key: picks.dax_raad.bio
t: 构建 [Serverless Stack](https://sst.dev/) 和 [Bumi](https://withbumi.com/)
- key: picks.dax_raad.description
t: |
多年来,没有哪项技术对我所交付成果的质量产生过更大的影响。我认为他们在推动网络所能实现的事情方面发挥着引领作用。
# https://lexical.dev/
- key: picks.german_jablonski.name
t: Lexical
- key: picks.german_jablonski.bio
t: 笔记和电子表格管理者,[Fluski](https://fluski.com/) 的CEO和创始人
- key: picks.german_jablonski.description
t: |
对于文本编辑器来说,这是不平凡的一年。它巧妙的数据模型和生命周期极大地影响了我的编程方式。
# https://marvinh.dev/blog/speeding-up-javascript-ecosystem/
- key: picks.alina_listunova.name
t: 加速 JavaScript 生态系统
- key: picks.alina_listunova.bio
t: 前端开发人员、技术翻译 🇺🇦
- key: picks.alina_listunova.description
t: |
始于 2022 年末,由 Preact 开发者 Marvin Hagemeister 撰写的这一系列文章揭示了现代 JavaScript 项目中性能低下的元素和处理方法。对于注重性能的专业人士来说,这确实是一篇引人入胜的文章。
# https://www.rspack.dev/
- key: picks.shadowingszy.name
t: Rspack
- key: picks.shadowingszy.bio
t: Datawhale技术架构师, 字节跳动高级前端研发工程师
- key: picks.shadowingszy.description
t: |
Rspack 是一个基于 Rust 的 Web 打包工具,性能极其出色。通过使用 Rust,它解决了大量 JS 打包工具的性能瓶颈。并且它能够与 webpack 的生态系统兼容。
# https://nuxt.com/
- key: picks.quarkstuff.name
t: Nuxt 4
- key: picks.quarkstuff.bio
t: 网络和游戏开发爱好者
- key: picks.quarkstuff.description
t: |
Nuxt 4 是有史以来的优秀版本之一。几乎没什么问题,一些方面得到了改进,而且迁移相当容易。如果你还没有尝试,不妨试试!
# https://www.npmjs.com/package/tess2
- key: picks.martin_heidegger.name
t: tess2.js
- key: picks.martin_heidegger.bio
t: 网络开发者,开发者活动组织者
- key: picks.martin_heidegger.description
t: |
去年我没有做很多 JavaScript 方面的工作,但 tess2 算法给我留下了深刻的印象,这是一个有十年历史的 npm 库,但仍然表现出色!
# https://auto-animate.formkit.com/
- key: picks.sacha_greif.name
t: AutoAnimate
- key: picks.sacha_greif.bio
t: State-of-JS创始人
- key: picks.sacha_greif.description
t: |
Formkit 的 AutoAnimate 库,您可以在这个网站上看到它的实际效果,正如其名,它能通过一行代码为您的应用添加动画!
# https://nuxt.com/
- key: picks.rexhent.name
t: Nuxt
- key: picks.rexhent.bio
t: 有抱负的 Linux 和网络开发者
- key: picks.rexhent.description
t: |
Nuxt 专注于开发体验(DX)和用户体验(UX)。它稳定且持续改进。在所有框架中,它拥有最好的开发工具,并创建了 UnJS 以及其他为新框架(如 Nitro)提供支持的工具。他们是自由开源软件社区的支柱。
# https://medium.com/@devgustavovasquez/the-future-of-web-development-embracing-interoperable-runtimes-bd2006e9b9d7
- key: picks.gustavo_vasquez.name
t: Web Interoperable Runtimes
- key: picks.gustavo_vasquez.bio
t: 软件工程师🇧🇷
- key: picks.gustavo_vasquez.description
t: |
Web Interoperable Runtimes 是一种执行环境,允许代码在多个平台和环境中一致运行。我相信,使用这样的标准让我们接触到了 Web 开发的未来。
# https://x.com/wunderacle
- key: picks.augustin_mauroy.name
t: Claudio Wunder
- key: picks.augustin_mauroy.bio
t: Web 开发者和开源软件爱好者
- key: picks.augustin_mauroy.description
t: |
Claudio 是一个非常出色的人。他帮助我成长为一名开发人员,而且得益于他的领导才能,还使得重新设计 Node 网站成为可能。并且他在不断推动 Node 项目向前发展。
# - key: picks.xxxx.name
# t:
# - key: picks.xxxx.bio
# t:
# - key: picks.xxxx.description
# t: |
###########################################################################
# Sponsors
###########################################################################
- key: sponsors.frontendmasters.description
t: 通过深入的现代前端工程课程提高您的技能。
- key: sponsors.google_chrome.description
t: 感谢 Google Chrome 团队对我们工作的支持。
- key: sponsors.renderatl.description
t: 这是一场专注于前端工程的技术会议。
###########################################################################
# FAQ/About
###########################################################################
- key: about.content
t: |
2023 年 State of JavaScript 调查于 2022 年 11 月 22 日至 12 月 12 日进行,收集了 23,540 份结果。该调查由 [Devgraphics](https://devgraphics.com/) 进行,该团队由我 ([Sacha Greif](https://sachagreif.com/)) 和 [Eric Burel](https://www.lbke.fr/),以及受邀专家和开源贡献者组成。
State of JavaScript 徽标和 T 恤由 [Christopher Kirk-Nielsen](http://chriskirknielsen.com/) 设计。
### 调查目标
这项调查的目的是确定网络开发生态系统的未来趋势,以帮助开发人员做出技术选择。
因此,该调查的重点是预测未来几年的趋势,而不是分析现在流行的内容,这就是为什么某些功能或技术有时可能会被忽略,即使它们目前很普遍
它也应该被视为**特定开发人员子集的快照**,并不意味着代表整个生态系统。
### 调查设计
该调查部分是根据去年的调查设计的,并有一个开放反馈期,[在 GitHub 上](https://github.com/Devgraphics/surveys/issues?q=is%3Aissue+is%) 讨论了调查大纲3Aopen+标签%3A%22状态+of+JS+2022%22)。
所有调查问题都是可选的。
### 调查观众
该调查可在线公开访问,受访者没有以任何方式过滤或选择。受访者主要是过去调查的受访者(通过专门的邮件列表提醒)和通过社交媒体引流而来的人员组成。
请注意,框架、库等都可以自由地鼓励其用户参与调查,其中一些框架和库确实通过横幅、推文宣传了本调查。“来源”图表中包含了流量来源的详细分类。
### 项目资金
该项目的资金来自多种来源:
- **T 恤销售**。
- **赞助链接**:每页底部的推荐资源链接由我们的合作伙伴 [Frontend Masters](https://frontendmasters.com/) 和 [RenderATL](https://www.renderatl.com/)提供。
- **直接资助**:今年,[Google](https://www.google.com/) 资助了我的调查工作。
非常感谢任何贡献或赞助。我们特别希望与更多的浏览器供应商密切合作,因为他们在web生态系统中发挥着核心的作用。
### 技术概述
您可以在[此处](https://dev.to/sachagreif/how-the-devgraphics-surveys-are-run-2023-edition-1p6a)找到有关调查如何进行的更深入的技术概述。