Salt la conținut

Utilizare

Cum folosești JavaScript

Echilibrul 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.

Cum îți împarți timpul între scrierea codului JavaScript și 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%
% din respondenții la întrebare

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%
% din respondenții la întrebare

AI Code Generation

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%
% din respondenții la întrebare

Utilizare 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.

În ce context folosești în principal JavaScript?
Multiple
0%
20%
40%
60%
80%
100%
1

Ca profesie

10,842
2

Ca hobby

4,593
3

Ca student

1,143
0%
20%
40%
60%
80%
100%
% din respondenții la întrebare

Utilizare JavaScript

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

Pentru ce folosești JavaScript?
Multiple
0%
20%
40%
60%
80%
100%
1

Dezvoltare frontend

11,268
2

Dezvoltare backend

7,345
3

Aplicații mobile

2,994
4

Aplicații desktop

2,072
5

Vizualizare date

1,653
6

Grafică & animații

1,302
7

Analiză date

854
8

Dezvoltare jocuri

651
9

Machine Learning

263
10

Aplicații embedded

258
0%
20%
40%
60%
80%
100%
% din respondenții la întrebare

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

În ce industrie/industrii lucrezi?
Multiple
0%
20%
40%
60%
80%
100%
1

Programare și instrumente tehnice

4,299
2

Consultanță și servicii

3,555
3

Ecommerce & Retail

2,668
4

Finanțe

1,796
5

Marketing/Vânzări/Instrumente de analiză

1,558
6

Educație

1,494
7

Divertisment

1,256
8

Sănătate

1,035
9

Știri, mass-media & blog-uri

939
10

Guvern

836
0%
20%
40%
60%
80%
100%
% din respondenții la întrebare

Modele de aplicații

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.

Pe care dintre următoarele modele de arhitectură și randare le-ai folosit în ultimul an?
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

Hidratare parțială

2,320
6

Arhitectura „insulară”

1,573
7

Îmbunătățire progresivă

1,480
8

Generare statică incrementală

1,053
9

Streaming SSR

956
10

Pre-randare parțială

906
0%
20%
40%
60%
80%
100%
% din respondenții la întrebare

Puncte slabe în JavaScript

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.

Care dintre aspectele JavaScript îți dau cele mai multe bătăi de cap?
Multiple
0%
20%
40%
60%
80%
100%
1

Arhitectura codului

3,719
2

State Management

3,290
3

Gestionarea dependințelor

3,053
4

Instrumente de build

2,925
5

Performanță

2,538
6

Remedierea erorilor

2,355
7

Managementul datelor

2,338
8

Typing

2,338
9

Cod asincron

1,151
10

Găsirea pachetelor

1,102
0%
20%
40%
60%
80%
100%
% din respondenții la întrebare

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%
% din respondenții la întrebare

Funcționalități lipsă

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.

Ce simți că lipsește în JavaScript în acest moment?
Multiple
0%
20%
40%
60%
80%
100%
1

Static Typing

5,403
2

Librărie standard

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

Alte răspunsuri

169
0%
20%
40%
60%
80%
100%
% din respondenții la întrebare

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

Alte răspunsuri

225
0%
20%
40%
60%
80%
100%
% din respondenții la întrebare

Satisfacția față de tehnologiile web

Cât de mulțumit(ă) ești de starea generală a tehnologiilor web?
1
2
3
4
5
2020
2021
2022
2023
2024
1
2
3
4
5
Media {axis}

Satisfacția față de JavaScript

Cât de mulțumit(ă) ești de starea generală a JavaScript?
1
2
3
4
5
2020
2021
2022
2023
2024
1
2
3
4
5
Media {axis}

Resurse recomandate

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.
Mulțumim partenerilor noștri pentru susținere! Află mai multe.