Перейти до вмісту

Використання

Як ви використовуєте JavaScript

Співвідношення JavaScript/TypeScript

Достеменно настала епоха TypeScript. 67% респондентів заявили, що пишуть більше TypeScript-коду, ніж JavaScript; ще й найбільша окрема група складається з тих, хто пише лише TypeScript.

0%
20%
40%
60%
80%
100%
1

0% TS

915
2

|

559
3

|

446
4

|

185
5

50/50

625
6

|

352
7

|

1,245
8

|

3,172
9

100% TS

3,936
0%
20%
40%
60%
80%
100%
% від тих, хто відповів на питання
Скільки часу ви пишете JavaScript-код і скільки — TypeScript?

Співвідношення компільованого коду

Не дивно, що у 2024 році майже весь JavaScript-код проходить через етап компіляції чи перебудови. Хоч збирачі та інструменти для компіляції ускладнюють процес розробки, вони, ймовірно, залишаться з нами надовго.

0%
20%
40%
60%
80%
100%
1

0% компілюється

262
2

|

185
3

|

192
4

|

118
5

50%

629
6

|

233
7

|

1,020
8

|

2,449
9

100% компілюється

5,927
0%
20%
40%
60%
80%
100%
% від тих, хто відповів на питання
Яка частка JavaScript-коду, який ви пишете для браузера, компілюється чи по-іншому перебудовується під час збирання?

Генерація коду за допомогою ШІ

Незважаючи на всі розмови про програмування за допомогою ШІ, більшість із нас досі використовує ці інструменти досить рідко. Ба більше, 20% взагалі не використовують їх для написання коду.

0%
20%
40%
60%
80%
100%
1

0% ШІ

2,263
2

|

4,319
3

|

2,573
4

|

837
5

50%

751
6

|

285
7

|

270
8

|

55
9

100% ШІ

18
0%
20%
40%
60%
80%
100%
% від тих, хто відповів на питання
Яку частку коду, який ви створюєте, згенеровано за допомогою ШІ?

Використання

Завжди корисно знати, в якому контексті респонденти пишуть JavaScript-код, і переважна більшість робить це в межах своєї основної роботи.

0%
20%
40%
60%
80%
100%
1

Професійно

10,842
2

Як хобі

4,593
3

Для навчання

1,143
0%
20%
40%
60%
80%
100%
% від тих, хто відповів на питання
Для чого ви переважно використовуєте JavaScript?

Варіанти використання

Майже всі респонденти заявили, що використовують JavaScript для клієнтської розробки, що логічно з огляду на походження мови.

0%
20%
40%
60%
80%
100%
1

Розробка клієнтської частини

11,268
2

Розробка серверної частини

7,345
3

Застосунки для мобільних пристроїв

2,994
4

Застосунки для настільних комп'ютерів

2,072
5

Візуалізація даних

1,653
6

Графіка та анімація

1,302
7

Аналіз даних

854
8

Розробка відеоігор

651
9

Машинне навчання

263
10

Вбудовані (Embedded) застосунки

258
0%
20%
40%
60%
80%
100%
% від тих, хто відповів на питання
Для чого ви використовуєте JavaScript?

Сфера діяльності

Найчисленніша сфера діяльності складається з розробників, які створюють інструменти для інших розробників, але найвисокооплачуванішою виявилася реклама.

0%
20%
40%
60%
80%
100%
1

Програмування та технічні інструменти

4,299
2

Консалтинг і послуги

3,555
3

Електронна комерція та роздрібна торгівля

2,668
4

Фінанси, банківська сфера

1,796
5

Маркетинг/Продажі/Інструменти аналітики

1,558
6

Освіта

1,494
7

Розваги

1,256
8

Охорона здоров'я

1,035
9

Новини, медіа, блогінг

939
10

Державний сектор

836
0%
20%
40%
60%
80%
100%
% від тих, хто відповів на питання
У яких галузях економіки ви працюєте?

Патерни застосунків

Незважаючи на підтримання складних стратегій рендерингу сучасними JavaScript-метафреймворками, найпоширенішими патернами залишаються традиційні односторінкові застосунки та рендеринг з боку сервера.

0%
20%
40%
60%
80%
100%
1

Односторінковий застосунок (SPA)

10,027
2

Рендеринг з боку сервера (SSR)

6,559
3

Генерація статичних сайтів (SSG)

5,072
4

Багатосторінковий застосунок (MPA)

4,399
5

Часткова гідрація

2,320
6

Архітектура островів

1,573
7

Поступове покращення (Progressive Enhancement)

1,480
8

Статична генерація з доповненням (incremental)

1,053
9

Потоковий SSR

956
10

Частковий попередній рендеринг

906
0%
20%
40%
60%
80%
100%
% від тих, хто відповів на питання
Які з наведених патернів архітектури і рендерингу застосунків ви використовували за останній рік?

Проблеми JavaScript

Щойно кодова база перевищує певний розмір, архітектура коду — це завжди клопіт, тому цілком логічно, що вона очолила рейтинг основних проблем JavaScript; за нею йдуть управління станом та залежностями.

0%
20%
40%
60%
80%
100%
1

Архітектура коду

3,719
2

Управління станом

3,290
3

Управління залежностями

3,053
4

Інструменти для збирання коду

2,925
5

Швидкодія

2,538
6

Налагодження

2,355
7

Управління датами

2,338
8

Типізація

2,338
9

Асинхронний код

1,151
10

Пошук пакетів

1,102
0%
20%
40%
60%
80%
100%
% від тих, хто відповів на питання
Від яких аспектів JavaScript вам найтяжче?

Нові пропозиції

Наразі існує досить багато пропозицій TC39, які ось-ось стануть реальністю. Цього року респонденти найбільше очікують Temporal і декоратори.

0%
20%
40%
60%
80%
100%
1

6,637
2

3,392
3

1,312
4

1,259
5

978
6

888
7

750
8

695
9

669
10

462
0%
20%
40%
60%
80%
100%
% від тих, хто відповів на питання
Які з-поміж цих активних пропозицій змін до JavaScript цікавлять вас найбільше?

Відсутні функції

Хоч спільнота давно відчуває нестачу нативної статичної типізації, цікаво бачити, що сигнали посіли третє місце в цьому списку, незважаючи на те, що вони не є частиною найпопулярнішого клієнтського фреймворку.

0%
20%
40%
60%
80%
100%
1

Статична типізація

5,403
2

Стандартна бібліотека

4,378
3

3,985
4

2,362
5

1,919
6

1,905
7

1,889
8

1,366
9

928
10

701
11

356
12

307
13

Інші відповіді

169
0%
20%
40%
60%
80%
100%
% від тих, хто відповів на питання
На вашу думку, чого наразі не вистачає у JavaScript?

Очевидно, що респонденти опитування чекають на нативні типи та сподіваються, що вони будуть реалізовані подібно до синтаксису TypeScript.

Цьогорічне формулювання запитання, на жаль, не надало чіткого розмежування між типами у середовищі виконання (runtime types) та типами-анотаціями у стилі TypeScript, тому ще треба з'ясувати, який із цих підходів підтримає спільнота.

0%
20%
40%
60%
80%
100%
1

Максимально схоже до TypeScript

8,362
2

За допомогою коментарів, схоже до JSDoc

1,037
3

НЕ бажаю їхньої імплементації зовсім

1,000
4

Типи-анотації

5

Similar to TypeScript

6

Similar to Java

7

Similar to Rust

8

Similar to Python

9

Інші відповіді

225
0%
20%
40%
60%
80%
100%
% від тих, хто відповів на питання
Якою ви вбачаєте імплементацію нативних типів у JavaScript?

Задоволення вебтехнологіями

0
1
2
3
4
2020
2021
2022
2023
2024
0
1
2
3
4
Середнє
Наскільки ви задоволені станом вебтехнологій загалом?

Задоволення JavaScript?

0
1
2
3
4
2020
2021
2022
2023
2024
0
1
2
3
4
Середнє
Наскільки ви задоволені станом JavaScript загалом?

Рекомендовані джерела

Your Path to Becoming a Senior Web Developer!
Will Sentance
Codesmith

Your Path to Becoming a Senior Web Developer!

Deep dive into JavaScript, the most popular framework React, Web performance, CSS, deploying websites, TypeScript, and functional JavaScript to become a professional web developer today.
Expand Your Abilities to the Server and Master the Fullstack
Jem Young
Netflix

Expand Your Abilities to the Server and Master the Fullstack

Set up servers, create APIs, and deploy your code to the world by learning the full stack.
Спонсорований вміст від наших партнерів. Детальніше.