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

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

Как вы используете 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.

Как бы вы распределили своё время между написанием кода на JavaScript и TypeScript?
0%
20%
40%
60%
80%
100%
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%
20%
40%
60%
80%
100%
% ответивших на вопрос

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.

What proportion of the JavaScript code you write for the browser goes through a build step?
0%
20%
40%
60%
80%
100%
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%
20%
40%
60%
80%
100%
% ответивших на вопрос

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.

What proportion of the code you produce is AI-generated?
0%
20%
40%
60%
80%
100%
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%
20%
40%
60%
80%
100%
% ответивших на вопрос

Использование 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.

Где вы в основном используете JavaScript?
Multiple
0%
20%
40%
60%
80%
100%
1

На работе

10,842
2

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

4,593
3

В учёбе

1,143
0%
20%
40%
60%
80%
100%
% ответивших на вопрос

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

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

What do you use JavaScript for?
Multiple
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

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

258
0%
20%
40%
60%
80%
100%
% ответивших на вопрос

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

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

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

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

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.

Какие из перечисленных ниже паттернов в архитектуре и рендеринга вы использовали за последний год?
Multiple
0%
20%
40%
60%
80%
100%
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%
20%
40%
60%
80%
100%
% ответивших на вопрос

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.

What aspects of JavaScript do you struggle with the most?
Multiple
0%
20%
40%
60%
80%
100%
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%
20%
40%
60%
80%
100%
% ответивших на вопрос

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.

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

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.

What do you feel is currently missing from JavaScript?
Multiple
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

Other Answers

169
0%
20%
40%
60%
80%
100%
% ответивших на вопрос

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.

How would you like to see native types implemented in JavaScript?
0%
20%
40%
60%
80%
100%
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 Java

6

Similar to Rust

7

Similar to TypeScript

8

Similar to Python

9

Other Answers

225
0%
20%
40%
60%
80%
100%
% ответивших на вопрос

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

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

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

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

Рекомендуемые ресурсы

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.
Спасибо нашим партнёрам за поддержку! Подробнее.