-
Notifications
You must be signed in to change notification settings - Fork 5
/
js2023.yml
413 lines (309 loc) · 32.7 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
locale: ua-UA
translations:
###########################################################################
# General
###########################################################################
- key: general.results.description
t: Щорічне опитування про останні тенденції в екосистемі JavaScript за 2023 рік.
###########################################################################
# Introduction
###########################################################################
- key: introduction.js2023
t: |
<span class="first-letter">С</span>ьогодні вже зрозуміло, що розвиток JavaScript не сповільнюється, на краще це чи на гірше.
Серверні компоненти, серверні дії, сигнали, компілятори та безліч іншого — щось нове та інноваційне з'являється швидше, ніж більшість із нас може з цим впоратися.
Щоб уникнути перевтоми від JavaScript, пам'ятайте, що ви здатні йти своєю дорогою. Звичайно, можна жити життя в авангарді передових технологій разом із їхніми найпершими користувачами. Але також можна йти у повільнішому темпі та зосередитися на стабільних, зрілих технологіях — і зрештою дістатися до чогось освіжного, коли за кілька років воно охолоне.
До речі, щодо повільності: можливо, вам цікаво, чому ці результати опитування 2023 року публікуються через шість місяців після початку *2024-го*. З огляду на запуск нового опитування ["Стан HTML"](https://2023.stateofhtml.com/), створення нових форматів запитань, збір найбільшої за весь час кількості даних довільної форми та переписування значної частини коду для візуалізації даних, ми направду опинилися під, м'яко кажучи, амбітним робочим навантаженням.
Сподіваємося, результат усіх цих додаткових зусиль того вартий. І ми дійсно плануємо набагато швидше публікуватися в майбутньому.
А тепер, розібравшись з передумовами, давайте дізнаємося, куди забрів JavaScript останнім часом!
<span class="conclusion__byline">– Sacha Greif</span>
###########################################################################
# Tshirt
###########################################################################
- key: sections.tshirt.title
t: Футболка
- key: sections.tshirt.description
t: |
## Підтримайте опитування за допомогою футболки "Стан JS"
Погана якість відео, громіздкі касети та необхідність перемотування назад — здається, ніхто не сумує за чимось з епохи VHS. Але нам *все-таки* не вистачає одного — дивовижних зображень 90-х, які раніше прикрашали порожні VHS-касети.
І тепер завдяки талановитому Christopher Kirk-Nielsen ви можете насолоджуватися добірним ретро, водночас відзначаючи свою любов до JavaScript!
- key: tshirt.about
t: Про футболку
- key: tshirt.description
t: |
Ми використовуємо високоякісну, надм'яку футболку приталеного крою із тканини з трьох типів волокна (tri-blend), надруковану нашими партнерами з Cotton Bureau.
- key: tshirt.getit
t: Отримати
- key: tshirt.price
t: USD $32 + доставляння
- key: tshirt.designer.heading
t: Про дизайнера
- key: tshirt.designer.name
t: Christopher Kirk-Nielsen
- key: tshirt.designer.bio
t: |
Chris родом із Франції, але тепер проживає у Сполучених Штатах; він не лише чудовий розробник клієнтської частини, а й талановитий ілюстратор, який спеціалізується на зображеннях у стилі ретро. Ми радимо вам переглянути [інші дизайни його футболок](https://chriskirknielsen.com/designs)!
###########################################################################
# Sections
###########################################################################
- key: sections.user_info.description
t: |
Цього року в опитуванні взяли участь **23540** респондентів.
- key: sections.features.description
t: |
Цього року ми надали особливу увагу виявленню проблем розробників під час роботи із JavaScript. Як і можна було очікувати, **відсутність нативної типізації** (lack of native typing) та **невідповідності між браузерами** (browser inconsistencies) очолили відповідні діаграми, торкнувшись майже третини розробників.
- key: sections.libraries.description
t: |
Ми переробили наші діаграми, щоб підкреслити не лише досвід розробників, але і *ставлення*. Обов'язково вивчіть ці нові параметри групування та сортування, щоб з'ясувати, які бібліотеки приваблюють найбільше… або найменше!
- key: sections.other_tools.description
t: |
Хоч розмова про JavaScript часто зводиться до того, який фреймворк вибрати, варто пам'ятати, що існує ціла галактика інших інструментів, сервісів і платформ, які чекають, щоб їх дослідили!
- key: sections.usage.description
t: |
Знову здається, що TypeScript зарекомендував себе як стандарт принаймні серед респондентів. Однак способи використання JavaScript залишаються такими ж різноманітними!
- key: sections.resources.description
t: |
Замість того, щоб надати попередньо визначені списки варіантів для вибору респондентами, ми просто додали звичайні текстові поля. Так з'явилося чимало нових учасників у цьогорічних "Джерелах"!
- key: sections.awards.description
t: |
На цьогорічному нагородженні домінував один певний проєкт… як швидко ви здогадаєтесь, який саме?
###########################################################################
# 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
###########################################################################
# Notes
###########################################################################
- key: blocks.gender.note
t: |
Якщо ви хочете дізнатися більше, ми [написали статтю](https://dev.to/sachagreif/is-our-survey-biased-against-women-49oj), у якій йдеться про гендерну динаміку опитування.
- key: blocks.source.note
t: >
Ця діаграма зібрана із джерел переходу (referrers), параметрів URL та відповідей довільної форми.
- Стан JS: список розсилання електронною поштою про ["Стан JS"](https://stateofjs.com).
- Стан CSS: список розсилання електронною поштою про ["Стан CSS"]; тексти з відповідниками `email`, `by email` тощо.
- Робота: тексти з відповідниками `work`, `colleagues`, `coworkers` тощо.
###########################################################################
# Awards
###########################################################################
- key: award.feature_adoption_delta_award.comment
t: Із прогресом **{value}** у 2022 році **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** став найбільш згадуваною технологією у вписуваному тексті (write-ins); кількість згадувань — **{value}**."
- key: award.most_commented_tool_award.comment
t: React вчергове продемонстрував, яку бібліотеку найчастіше обговорюють; кількість коментарів — **{value}**.
- key: award.most_loved_tool_award.comment
t: Отримавши позитивні відгуки від **{value}** розробників, Vite завершує свою серію нагород, тріумфуючи як найулюбленіша технологія!
###########################################################################
# 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: Dev advocate, інженерка, прихильниця відкритого коду, авторка мемів
- key: conclusion.js2023.theo_browne
t: |
<span class="first-line">Javascript кочує у бік сервера, і для нас це не просто.</span>
У торішньому опитуванні ми спостерігали швидке поширення фреймворків із серверним рендерингом, як-от Next, Nuxt, Remix і SvelteKit. Цього року ми змістилися до передусім серверних підходів, як часткова гідрація та архітектура островів, використання яких подвоїлось.
Фрейм-... ем... бібліотеки, як htmx, демонструють, що веброзробники не єдині, хто виграє від використання сервера. SPA нікуди не зникнуть (для підтвердження погляньте на [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 Server Component доступні кожному розробнику.
І, звісно, 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.
- key: picks.emma_bostian.description
t: |
Як нова інженерна менеджерка я вважаю, що статті у розділі "Навички для нових менеджерів" блогу LeadDev неоціненні. Там наведені відмінні джерела для тих, хто хоче розвинути свої інженерні лідерські та управлінські навички!
# https://pocketbase.io
- key: picks.fireship.name
t: Pocketbase
- key: picks.fireship.bio
t: GDE, ентузіаст роботи з даними і YouTube-відеоблогер
- key: picks.fireship.description
t: |
Мій вибір року — це проєкт Pocketbase, серверна частина із відкритим програмним кодом на основі SQLite. Його JavaScript SDK надає веброзробникам усе, що необхідно для створення складного застосунку, і, на диво, впроваджується як один двійковий файл на будь-якому сервері вартістю $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: |
Якщо вам цікаво, куди прямує програмне забезпечення, прослухайте цей подкаст. Це відновить ваш оптимізм щодо майбутнього веброзробки.
# 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, дещо більше за нескінченне полотно, переосмислює можливості UI — від разючих ШІ-експериментів до тонкощів техніки малювання. Його програмний код вільно доступний, а також я ціную скінченні автомати та API з можливістю розширення для нескінченного майстрування.
# https://replicache.dev/
- key: picks.dax_raad.name
t: Replicache
- key: picks.dax_raad.bio
t: Розроблюю [SST](https://sst.dev/) і [terminal](https://www.terminal.shop/)
- key: picks.dax_raad.description
t: |
За останні роки жодна інша технологія не мала більшого впливу на якість того, що я розробив. Я думаю, що вони на передовій розширення можливостей вебу.
# https://lexical.dev/
- key: picks.german_jablonski.name
t: Lexical
- key: picks.german_jablonski.bio
t: CEO та автор менеджера нотаток і електронних таблиць [Fluski](https://fluski.com/)
- key: picks.german_jablonski.description
t: |
Це був винятковий рік для текстового редактора Meta. Його виняткові модель даних і життєвий цикл суттєво вплинули на те, як я програмую.
# 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, старший інженер-дослідник клієнтської частини в ByteDance
- key: picks.shadowingszy.description
t: |
Rspack — це інструмент збирання для вебу на основі Rust із надзвичайно високою продуктивністю. Використовуючи Rust, він вирішив велику кількість вузьких місць продуктивності інших інструментів на основі JS. І він сумісний з екосистемою webpack.
# https://unjs.io/
- key: picks.quarkstuff.name
t: UnJS
- key: picks.quarkstuff.bio
t: Розумник із розробки вебу та ігор
- key: picks.quarkstuff.description
t: |
Екосистема UnJS схожа на коробку з іграшками для розробника. Від ofetch і consola до citty і nitro — там, ймовірно, знайдеться щось і для вашого наступного великого проєкту.
# 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, 10-річна npm-бібліотека, яка все ще працює на відмінно!
# https://auto-animate.formkit.com/
- key: picks.sacha_greif.name
t: AutoAnimate
- key: picks.sacha_greif.bio
t: Автор "Стану JS"
- key: picks.sacha_greif.description
t: |
Бібліотека AutoAnimate від Formkit, яку ви можете побачити в дії ось тут на цьому вебсайті, робить саме те, що випливає з її назви, і навіть розуміється на тому, як додати анімацію до ваших програм за допомогою одного рядка коду!
# 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. Вони — один із стовпів FOSS-спільноти.
# https://medium.com/@devgustavovasquez/the-future-of-web-development-embracing-interoperable-runtimes-bd2006e9b9d7
- key: picks.gustavo_vasquez.name
t: Взаємосумісні середовища виконання для вебу
- key: picks.gustavo_vasquez.bio
t: Інженер програмного забезпечення 🇧🇷
- key: picks.gustavo_vasquez.description
t: |
Взаємосумісні середовища виконання для вебу — це середовища виконання, які дають змогу застосункам працювати однаково й узгоджено на кількох різних платформах і середовищах. Я вважаю, що робота над таким стандартом відкриє нам майбутнє веброзробки.
# https://x.com/wunderacle
- key: picks.augustin_mauroy.name
t: Claudio Wunder
- key: picks.augustin_mauroy.bio
t: Веброзробник та ентузіаст OSS
- key: picks.augustin_mauroy.description
t: |
Claudio чудова людина. Він допоміг мені зрости як розробнику, але також завдяки своїм лідерським якостям домігся зміни дизайну вебсайту Node. І він продовжує просувати проєкт Node вперед.
# https://www.electronjs.org/
- key: picks.kilian_valkhof.name
t: Electron
- key: picks.kilian_valkhof.bio
t: Автор браузера для розробників Polypane
- key: picks.kilian_valkhof.description
t: |
Оскільки повсякденні програми, як-от VS Code, Figma, Discord, Slack і 1Password, працюють на Electron, він залишається невід'ємною частиною екосистеми JS і розробників. Багато інструментів, якими ми всі користуємося, не існували б без нього, і за умови правильного використання це справді потужна платформа.
# https://x.com/dawntraoz
- key: picks.arisa_fukuzaki.name
t: Alba Silvente Fuentes
- key: picks.arisa_fukuzaki.bio
t: Старша інженерка у сфері DevRels та ведення документації в Storyblok
- key: picks.arisa_fukuzaki.description
t: |
Alba пише про розробку клієнтської частини, архітектуру і швидкодію у вебі, виступала на багатьох конференціях і має подкаст "No me da la vida". Вона надихає багатьох розробників, і я один із них!
# - 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.tokyodev.description
t: Знайдіть роботу розробника своєї мрії в Японії вже сьогодні.
- key: sponsors.renderatl.description
t: Технологічна конференція, присвячена всьому у вебі.
###########################################################################
# FAQ/About
###########################################################################
- key: about.content
t: |
Опитування "Cтан JavaScript 2023" тривало з 22 листопада до 12 грудня 2023 року та зібрало 23540 відповідей. Результати були опубліковані 20 червня 2024 року. Опитування проводив [Devographics](https://devographics.com/), колектив, до складу якого входять я ([Sacha Greif](https://sachagreif.com/)) і [Eric Burel](https://www.lbke.fr/), а також запрошені експерти та учасники проєктів із відкритим програмним кодом.
Логотип і футболку "Стан JavaScript" розробив [Christopher Kirk-Nielsen](http://chriskirknielsen.com/).
### Цілі опитування
Це опитування було створено для визначення майбутніх тенденцій в екосистемі веброзробки, щоб допомогти розробникам здійснити вибір з-поміж наявних технологій.
Так опитування зосереджено більше на передбаченні того, що станеться протягом наступних кількох років, ніж на аналізі того, що популярно саме зараз, — ось чому деякі функції чи технології іноді можуть не згадуватися попри широке впровадження.
Його також слід сприймати як **знімок певної підмножини розробників у певний момент часу**, а не промовистий опис від імені всієї екосистеми.
### Дизайн опитування
Опитування було розроблено частково на основі торішнього опитування з відкритим періодом для зворотного зв'язку, під час якого план опитування обговорювався [на платформі GitHub](https://github.com/Devographics/surveys/issues?q=is%3Aissue+is%3Aopen+label%3A%22State+of+JS+2023%22).
Усі запитання опитування були необов'язковими.
### Аудиторія опитування
Опитування було повністю відкрите та доступне онлайн, респонденти жодним чином не відфільтровувалися та не відбиралися. Респонденти складалися здебільшого з учасників минулих опитувань (сповіщених електронною поштою за спеціальним списком розсилання) та тих, хто прийшов через соціальні мережі.
Зауважте, що фреймворки, бібліотеки тощо могли вільно заохочувати свою аудиторію до участі в опитуванні, і деякі з них скористалися цим за допомогою банерів, твітів або у інший спосіб. Детальний розподіл джерел трафіку включено в діаграму "Джерела".
### Фінансування проєкту
Цей проєкт фінансується з різних джерел:
- **Продаж футболок**.
- **Розміщення посилань від спонсорів**: посилання на рекомендовані джерела у нижній частині кожної сторінки надають наші партнери [Frontend Masters](https://frontendmasters.com/) та [RenderATL](https://www.renderatl.com/).
- **Пряме фінансування**: цього року [Google](https://www.google.com/) профінансував мою роботу над опитуванням.
Будь-який внесок або спонсорство дуже цінується. Особливо ми хотіли б тісніше співпрацювати з більшою кількістю постачальників браузерів, оскільки вони відіграють центральну роль в екосистемі вебу.
### Технічний огляд
Більш детальний технічний огляд того, як проводяться опитування, [тут](https://dev.to/sachagreif/how-the-devographics-surveys-are-run-2023-edition-1p6a).