Перейти к основному содержимому

Использование

Как вы используете JavaScript

Баланс между JavaScript и TypeScript

We're now firmly in the TypeScript era. 67% of respondents stated they write more TypeScript than JavaScript code – while the single largest group consisted of people who only write TypeScript.

0%
7%
14%
21%
28%
34%
1

100% JS

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%
7%
14%
21%
28%
34%
% ответивших на вопрос
Как бы вы распределили своё время между написанием кода на JavaScript и TypeScript?

Compiled Code Balance

It should come as no surprise that in 2024, almost all of our JavaScript code goes through a build step. While bundlers and build tools certainly add complexity to our development process, they are most likely here to stay.

0%
11%
22%
32%
43%
54%
1

0% Compiled

262
2

|

185
3

|

192
4

|

118
5

50%

629
6

|

233
7

|

1,020
8

|

2,449
9

100% Compiled

5,927
0%
11%
22%
32%
43%
54%
% ответивших на вопрос
What proportion of the JavaScript code you write for the browser goes through a build step?

For all the talk of AI-assisted coding, most of us still only use AI tools sparingly. And in fact, a whole 20% do not use them whatsoever to produce code.

0%
8%
15%
23%
30%
38%
1

0% AI

2,263
2

|

4,319
3

|

2,573
4

|

837
5

50%

751
6

|

285
7

|

270
8

|

55
9

100% AI

18
0%
8%
15%
23%
30%
38%
% ответивших на вопрос
What proportion of the code you produce is AI-generated?

Использование JavaScript

It's always good to know in what context respondents are writing JavaScript code, and the vast majority are using it as part of their day job.

0%
19%
38%
57%
76%
95%
1

На работе

10,842
2

Для меня это хобби

4,593
3

В учёбе

1,143
0%
19%
38%
57%
76%
95%
% ответивших на вопрос
Где вы в основном используете JavaScript?

Для чего вы используете JavaScript?

Virtually every respondent stated that they use JavaScript for frontend development, which makes sense given the language's origins.

0%
20%
39%
59%
79%
98%
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

Разработка встраиваемых приложений

258
0%
20%
39%
59%
79%
98%
% ответивших на вопрос
What do you use JavaScript for?

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

While the largest industry sector consisted of developers building tools for other developers, the highest-paying one turned out to be Advertising.

0%
8%
17%
25%
34%
42%
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%
8%
17%
25%
34%
42%
% ответивших на вопрос
В каких сферах деятельности вы работаете?

Паттерны приложений

Despite modern JavaScript meta-frameworks now supporting intricate rendering strategies, the most common application patterns remained the most traditional ones: single-page apps and server-side rendering.

0%
18%
36%
54%
72%
90%
1

Одностраничное приложение (Single Page Application, SPA)

10,027
2

Серверный рендеринг (Server-Side Rendering, SSR)

6,559
3

Генератор статических сайтов (Static Site Generation, SSG)

5,072
4

Многостраничное приложение (Multi-Page Application, MPA)

4,399
5

Частичная гидрация (Partial Hydration)

2,320
6

Архитектура островов (Islands Architecture)

1,573
7

Прогрессивное улучшение (Progressive Enhancement)

1,480
8

Инкрементальная статическая генерация (Incremental Static Generation)

1,053
9

Потоковый серверный рендеринг (Streaming SSR)

956
10

Partial Prerendering

906
0%
18%
36%
54%
72%
90%
% ответивших на вопрос
Какие из перечисленных ниже паттернов в архитектуре и рендеринга вы использовали за последний год?

JavaScript Pain Points

Code architecture is always a concern once a codebase gets past a certain size, so it makes sense that it topped the rankings of overall JavaScript pain points, followed by state and dependency management.

0%
7%
14%
21%
28%
35%
1

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

3,719
2

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

3,290
3

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

3,053
4

Build Tools

2,925
5

Performance

2,538
6

Отладка

2,355
7

Управление датами

2,338
8

Typing

2,338
9

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

1,151
10

Поиск пакетов

1,102
0%
7%
14%
21%
28%
35%
% ответивших на вопрос
What aspects of JavaScript do you struggle with the most?

There are currently quite a few TC39 proposals that are on the verge of becoming a reality. Temporal and Decorators stood out this year as the ones respondents were most excited about.

0%
15%
30%
45%
59%
74%
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%
15%
30%
45%
59%
74%
% ответивших на вопрос
Which of these active JavaScript proposals are you most excited about?

While the lack of native static typing has long been felt by the community, it's interesting to see Signals making an entrance at number 3 on this list, despite not being part of the most popular front end framework.

0%
11%
21%
32%
43%
53%
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

Other Answers

169
0%
11%
21%
32%
43%
53%
% ответивших на вопрос
What do you feel is currently missing from JavaScript?

It's clear that survey respondents want native types, and that they hope to seem them implemented with a TypeScript-like syntax.

This year's question phrasing sadly did not make a clear distinction between runtime types and TypeScript-like type-as-annotations, so it remains to be seen which of these two paths will gain the community's favor.

0%
16%
32%
48%
64%
80%
1

As similar to TypeScript as possible

8,362
2

Using comments, similar to JSDoc

1,037
3

I would not like to see them implemented

1,000
4

Type Annotations

5

Similar to TypeScript

6

Similar to Java

7

Similar to Rust

8

Similar to Python

9

Other Answers

225
0%
16%
32%
48%
64%
80%
% ответивших на вопрос
How would you like to see native types implemented in JavaScript?

Насколько вы удовлетворены текущим состоянием веб-технологий?

0
1
2
3
4
2020
2021
2022
2023
2024
0
1
2
3
4
Average
How happy are you with the general state of web technologies?

Насколько вы удовлетворены текущим состоянием JavaScript?

0
1
2
3
4
2020
2021
2022
2023
2024
0
1
2
3
4
Average
How happy are you with the general state of 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.
Спасибо нашим партнёрам за поддержку! Подробнее.