-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathjs2021.yml
470 lines (375 loc) · 23.2 KB
/
js2021.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
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
locale: ro-RO
translations:
###########################################################################
# General
###########################################################################
- key: general.results.description
t: Ediția 2021 a sondajului anual despre cele mai recente tendințe din ecosistemul JavaScript.
- key: general.livestream_announcement
t: Te invităm să iei parte la un [livestream special despre rezultatele sondajului](https://dev.to/sachagreif/state-of-javascript-2021-livestream-24a5) pe 22 februarie! (engleză)
###########################################################################
# Introduction
###########################################################################
- key: introduction.js2021
t: |
<span class="first-letter">S</span>-au întâmplat multe în 2021. Atât de multe încât sondajul a fost amânat până în
2022!
Între o mulțime de instrumente pentru build mai rapide și o nouă serie de framework-uri back-end, lumea JavaScript
a continuat să evolueze. Iar noi am făcut tot posibilul să ținem pasul cu schimbările, aducând sondajului câteva
noi îmbunătățiri ([citește mai multe despre noutăți](https://dev.to/sachagreif/whats-new-in-the-2021-state-of-javascript-survey-4eej)),
cum ar fi noi tipuri de întrebări, posibilitatea de a face referințe încrucișate între doi indicatori (de exemplu,
salariile anuale și nivelul de experiență) și chiar și o modalitate de a personaliza graficele pentru a obține
propria perspectivă asupra datelor! Citește mai multe despre [ce e nou anul acesta](https://dev.to/sachagreif/whats-new-in-the-2021-state-of-javascript-survey-4eej) (engleză).
Totuși, nu a fost un parcurs ușor! Ne-am confruntat cu o [scurgere de date](https://dev.to/sachagreif/disclosing-a-state-of-javascriptstate-of-css-data-breach-2lg1)
care, din fericire, nu a părut să aibă consecințe negative. Și depunem în mod constant eforturi pentru a face
sondajul mai incluziv, mai accesibil și mai corect.
Totuși, chiar dacă sondajul nu poate reprezenta decât o foarte mică parte din ecosistemul JavaScript, sperăm că
vei găsi datele interesante!
<span class="conclusion__byline">– Sacha Greif</span>
###########################################################################
# Tshirt
###########################################################################
- key: sections.tshirt.title
t: Tricou
- key: sections.tshirt.description
t: |
## Susține sondajul cu tricoul State of JavaScript
Între calitatea video scăzută, casetele voluminoase și faptul că trebuia să derulezi înapoi, nu sunt prea multe
de care să-ți fie dor din era VHS. Dar un lucru care *ne* lipsește sunt imaginile minunate din anii '90 cu care
obișnuiau să fie decorate casetele VHS nescrise.
Dar acum, grație talentatului Christopher Kirk-Nielsen ne putem bucura cu toții de strălucirea retro, sărbătorind
în același timp și dragostea pentru JavaScript!
- key: tshirt.about
t: Despre tricou
- key: tshirt.description
t: |
Folosim un tricou dintr-un material înalt calitativ, foarte moale, care are un croi slim fit, imprimat de
partenerii noștri de la Cotton Bureau.
- key: tshirt.getit
t: Cumpără-l
- key: tshirt.price
t: 29$ + transport
- key: tshirt.designer.heading
t: Despre designer
- key: tshirt.designer.name
t: Christopher Kirk-Nielsen
- key: tshirt.designer.bio
t: |
Originar din Franța, dar stabilit în prezent în Statele Unite, Chris nu este doar un front-end developer
extraordinar, dar și un ilustrator talentat specializat în vizualuri retro. De fapt, te încurajăm să tragi o
privire și peste [celelalte design-uri de tricou](https://chriskirknielsen.com/designs)!
###########################################################################
# Sections
###########################################################################
- key: sections.user_info.description
t: |
În acest an, **16.085** de respondenți au luat parte la sondaj. Și, pentru a
evidenția diverse voci și perspective mai profunde, am depus un efort deosebit
în a oferi noi moduri de a descompune datele.
- key: sections.features.description
t: |
JavaScript se poate mișca rapid, dar se pare că developerii JavaScript se mișcă și mai repede pentru că multe
funcționalități relativ noi arată deja niveluri ridicate de adoptare.
- key: sections.technologies.description
t: |
Rezultatele din acest an indică un grad ridicat de fragmentare în lumea JavaScript. Dar, în timp ce acest lucru
poate provoca uneori dureri de cap, toată acestă competiție creează un ecosistem foarte dinamic.
- key: sections.tools_others.description
t: |
Găsirea unei tehnologii potrivite poate implica adesea o serie de alegeri dificile între priorități concurente,
iar în acest an am încercat să surprindem acest proces folosind un nou format de întrebări eliminatorii
(tournament bracket).
- key: sections.environments.description
t: |
Accesibiltatea a fost mult timp în dezvoltarea web o temă de gândire ulterioară, dar mulți developeri își dau
seama acum că ar trebui să fie de fapt fundația pe care se sprijină toate celelalte.
- key: sections.resources.description
t: |
Punerea în lumină a blog-urilor, podcast-urilor și site-urilor este benefică, dar în acest an am decis să facem un
pas mai departe și să prezentăm efectiv oamenii care fac parte din comunitatea JavaScript!
- key: sections.opinions.description
t: |
Fie că e vorba de punctele dureroase care te țin în loc astăzi sau de funcționalitățile lipsă pe care sperai să le
folosești mâine, aceasta a fost șansa voastră de a dezvălui și împărtăși nemulțumiri legate de JavaScript!
###########################################################################
# 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
- key: blocks.tools_quadrant.description
t: |
Acest grafic ilustrează **rata de retenție** a fiecărei tehnologii în raport cu **numărul total de utilizatori**.
Poate fi împărțit în patru cadrane:
- **1**: Utilizare scăzută, rată ridicată de retenție. Tehnologii pe care merită să le urmărești.
- **2**: Utilizare ridicată, rată ridicată de retenție. Tehnologii sigure pentru adoptare.
- **3**: Utilizare scăzută, rată scăzută de retenție. Tehnologii care sunt greu de recomandat în acest moment.
- **4**: Utilizare ridicată, rată scăzută de retenție. Dacă încă le folosești, reevaluează aceste tehnologii.
###########################################################################
# Notes
###########################################################################
- key: blocks.gender.note
t: |
Dacă ești interesat să afli mai multe, [am scris un articol pe blog](https://dev.to/sachagreif/is-our-survey-biased-against-women-49oj)
care abordează dinamica de gen a sondajului.
- key: blocks.css_missing_features.note
t: |
Poți explora întregul set de date obținute din răspunsurile la această întrebare în [acest side project](https://whatsmissingfromcss.com/).
- key: blocks.source.note
t: >
Acest grafic agregă o combinație de referințe, parametri URL și răspunsuri libere.
- State of JS: lista abonaților [State of JS](https://stateofjs.com).
- State of CSS: lista abonaților State of CSS; include și `email`, `după email` etc.
- Work: include `locul de muncă`, `colegi`, `colegi de muncă` etc.
###########################################################################
# Awards
###########################################################################
- key: award.feature_adoption_delta_award.comment
t: Cu o evoluție de **{value}** în 2021, operatorul ?? (nullish coalescing) a devenit rapid o parte integrantă a JavaScript.
- key: award.tool_usage_delta_award.comment
t: esbuild are doar 2 ani, dar cu un progres de **{value}** față de anul trecut, deja câștigă teren.
- key: award.tool_satisfaction_award.comment
t: Vite ocupă primul loc cu un uriaș raport al retenției de **{value}**.
- key: award.tool_interest_award.comment
t: Cu o rată de interes de **{value}**, Vite câștigă din nou aurul!
- key: award.most_write_ins_award.comment
t: Multe întrebări au acceptat și răspunsuri deschise, iar cu **{value}** de mențiuni, Elm a fost cel mai popular element în general.
###########################################################################
# Conclusion
###########################################################################
- key: conclusion.js2021
t: |
<span class="first-line">JavaScript e într-o poziție extraordinar de bună astăzi comparativ cu anul 2016.</span>
Când am organizat prima ediție a sondajului State of JS, doar 21% foloseau TypeScript, comparativ cu cei 69% din
prezent. În timp ce obișnuiam să glumim despre lansarea unui nou framework front end în fiecare zi, **React** și
**Vue** domină deja de 6 ani consecutivi. Iar procentul celor care declară că „JS se mișcă prea repede” a scăzut
de la 59% la 38%.
Asta nu înseamnă că limbajul a stagnat. API-urile **Optional Chaining** și **Nullish Coalescing** au devenit cele
mai folosite API-uri noi ale sondajului nostru, în ciuda faptului că au doar 2 ani. Și multe alte lucruri bune
sunt pe drum din partea TC39: ați raportat că gestionarea datelor este o funcționalitate de top care lipsește, iar
API-ul Temporal a intrat recent în [Etapa 3](https://github.com/tc39/proposal-temporal).
Ecosistemul instrumentelor înregistrează de asemenea o evoluție rapidă și este corect să spunem că 2021 a fost
anul **Vite**. Vite nu doar că a debutat cu un nivel al retenției de 98%, dar gradul de utilizare este deja la 30%
la prima sa prezență în sondajul nostru, eclipsând chiar și esbuild. Vite nu este singurul care încearcă să
îmbunătățească instrumentele pentru build JavaScript - 8 din cele 12 instrumente pe care le monitorizăm astăzi
sunt lansate de mai puțin de 2 ani! Iar în timp ce **pnpm**, **Turborepo** și **Nx** au fost în top în primul an
în care am început să monitorizăm instrumentele monorepo, doar 25% raportează că sunt mulțumiți de condiția acelei
categorii, demonstrând că încă mai rămân multe de făcut.
De asemenea notabil: mulți participanți noi, cum sunt **Deno**, **Rome**, **Astro**, **Remix** și alții, sunt acum
susținuți de companii venture-backed, găsind poate o alternativă viabilă pentru fragilul mediu de finanțare
open-source.
Pe măsură ce [Third Age of JavaScript](https://www.swyx.io/js-third-age/) intră în al treilea an, oportunitățile
pentru aspiranții open source și antreprenori continuă să iasă la iveală, iar eu sunt nerăbdător să văd ce vor
aduce următorii ani!
- key: conclusion.js2021.bio
t: Head of DX at Temporal
###########################################################################
# Picks
###########################################################################
- key: picks.my_pick
t: "Alegerea mea în 2021: "
- key: picks.intro
t: Am rugat membrii comunității JavaScript să ne spună care este „alegerea anului” din perspectiva lor
- key: picks.lee_robinson.name
t: SvelteKit
- key: picks.lee_robinson.bio
t: Director of Developer Relations at Vercel
- key: picks.lee_robinson.description
t: |
SvelteKit este o nouă variantă pentru dezvoltarea web și a strâns în jurul său o comunitate de susținători
incredibil de pasionați, fiind în continuă creștere.
- key: picks.vadim_makeev.name
t: Server-Side Rendering
- key: picks.vadim_makeev.bio
t: DevRel, Podcaster & Web Standards Advocate
- key: picks.vadim_makeev.description
t: |
A venit timpul să ne punem în ordine prioritățile.
UX > DX și așa a fost întotdeauna. Trăiască performanța!
- key: picks.ben_ilegbodu.name
t: Lee Robinson
- key: picks.ben_ilegbodu.bio
t: Ben Ilegbodu, Principal Frontend Engineer @ Stitch Fix
- key: picks.ben_ilegbodu.description
t: |
Lee a fost grozav în a păstori și promova Next.js.
M-a ajutat foarte mult cu Next și continuă să producă entuziasm cu privire la direcția în care acesta se îndreaptă.
- key: picks.shawn_wang.name
t: Supabase
- key: picks.shawn_wang.bio
t: Head of DX at Temporal
- key: picks.shawn_wang.description
t: |
Supabase face Postgres accesibil mai multor developeri și arată tuturor cum
o echipă mică, dar dedicată, poate depăși echipe de 10 ori mai mari.
- key: picks.sarah_drasner.name
t: Pawel Kozlowski
- key: picks.sarah_drasner.bio
t: Director of Engineering, Core Developer Web at Google
- key: picks.sarah_drasner.description
t: |
Pawel Kozlowski este genul de developer care poate fi deschis la diferite abordări
cu bunăvoință, curiozitate și dorința de a îmbunătăți lucrurile.
- key: picks.sara_vieira.name
t: Paul Henschel
- key: picks.sara_vieira.bio
t: International Agent of JS Bullshit
- key: picks.sara_vieira.description
t: |
ReactThreeFiber și animațiile lui Paul au făcut ca orice fel
de interacțiune cu elemente 3D web să fie mult mai ușoară.
- key: picks.mark_erikson.name
t: Ryan Carniato
- key: picks.mark_erikson.bio
t: Redux Maintainer
- key: picks.mark_erikson.description
t: |
Framework-ul reactive SolidJS al lui Ryan a ajuns la versiunea 1.0.
El a scris numeroase articole în care analizează concepte avansate
de implementare a framework-ului JS.
- key: picks.miguel_angel_duran.name
t: Vite
- key: picks.miguel_angel_duran.bio
t: Front End Dev & Twitch Coding Streamer
- key: picks.miguel_angel_duran.description
t: |
Pe lângă esbuild și swc, instrumente fantastice care fac ecosistemul să avanseze,
îmi place Vite. Oferă un DX încântător și multiple funcționalități.
- key: picks.alyssa_nicoll.name
t: BroccoDev's Twitch Stream
- key: picks.alyssa_nicoll.bio
t: Sr. Developer Advocate at Progress
- key: picks.alyssa_nicoll.description
t: |
Mike Brocchi și-a început recent activitatea pe Twitch. Este un programator,
un developer și, cel mai important, un profesor strălucit. Mă distrez și învăț întotdeauna când îi urmăresc
videourile.
- key: picks.michael_jackson.name
t: esbuild
- key: picks.michael_jackson.bio
t: Cofondator Remix
- key: picks.michael_jackson.description
t: |
Am construit compilatorul Remix folosind esbuild și putem spune că a ridicat în
mod evident ștacheta în ceea ce privește pachetele JS.
Este incredibil de rapid, iar plugin-ul API ne permite să facem aproape orice ne dorim.
- key: picks.david_khourshid.name
t: Remix
- key: picks.david_khourshid.bio
t: Pianist și fondator al Stately
- key: picks.david_khourshid.description
t: |
Remix este un framework web full-stack care pare old-school, dar într-un mod bun.
Te ajută să creezi aplicații web moderne, rapide, complexe și accesibile.
- key: picks.kent_c_dodds.name
t: Fly.io
- key: picks.kent_c_dodds.bio
t: Director of Developer Experience, Remix
- key: picks.kent_c_dodds.description
t: |
Deși sunt un inginer frontend care desconsideră DevOps, Fly mi-a permis
să fac cu încredere deploy în producție unei aplicații reale, distribuită la nivel global.
- key: picks.tejas_kumar.name
t: Joe Haddad
- key: picks.tejas_kumar.bio
t: Web Developer, Conference Speaker, and Director of DevRel at Xata
- key: picks.tejas_kumar.description
t: |
Joe lucrează la Next.js în cadrul Vercel și caută în permanență să-și demonstreze
abilitățile, în timp ce ascultă în mod activ feedbackul din partea comunității
din dorința de a o sprijini cât mai bine.
- key: picks.wes_bos.name
t: TC39 Proposals
- key: picks.wes_bos.bio
t: Profesor JavaScript și gazdă podcast
- key: picks.wes_bos.description
t: |
Un repo Git cu toate propunerile de îmbunătățiri în JavaScript. Este foarte distractiv să citești toate ideile pe
care oamenii le au pentru limbaj și să le vezi trecând de la o etapă la alta.
- key: picks.scott_tolinski.name
t: SvelteKit
- key: picks.scott_tolinski.bio
t: Creator al Level-Up Tuts, co-host al Syntax
- key: picks.scott_tolinski.description
t: |
Svelte Kit oferă experiența uimitoare a lui Svelte, cu toate
funcționalitățile moderne pe care le aștepți de la o platformă web.
- key: picks.xxxx.name
t:
- key: picks.xxxx.bio
t:
- key: picks.xxxx.description
t: |
###########################################################################
# Sponsors
###########################################################################
- key: sponsors.frontendmasters.description
t: Aprofundează-ți cunoștințele urmând cursuri moderne de inginerie front-end.
- key: sponsors.polypane.description
t: Browserul developerilor ambițioși. Creează cu ușurință website-uri responsive, accesibile și rapide.
- key: sponsors.google_chrome.description
t: Mulțumim echipei Google Chrome pentru susținerea muncii noastre.
###########################################################################
# FAQ/About
###########################################################################
- key: about.content
t: >
Sondajul State of JavaScript din 2021 a avut loc în perioada 13 ianuarie - 2 februarie **2022** și a colectat 16.085 de răspunsuri.
Sondajul a fost organizat de mine, [Sacha Greif](https://sachagreif.com/), cu ajutorul unei echipe de colaboratori
și consultanți open-source.
Logo-ul și tricoul din acest an au fost create de [Christopher Kirk-Nielsen](http://chriskirknielsen.com/).
### Obiectiv
Acest sondaj, împreună cu sondajul [State of CSS](https://stateofcss.com/), a fost creat pentru a identifica
tendințe viitoare din ecosistemul dezvoltării web, cu scopul de ajuta developerii să facă alegeri tehnologice.
Prin urmare, aceste sondaje se concentrează mai degrabă pe anticiparea a ceea ce va avea loc în următorii câțiva
ani decât pe analizarea a ceea ce se bucură acum de succes. Din acest motiv, funcționalitățile și tehnologiile
care sunt în prezent cele mai răspândite nu sunt întotdeauna incluse.
De asemenea, acestea ar trebui privite ca un **snapshot al unui anumit grup de developeri**, nefiind menite să
vorbească în numele întregului ecosistem.
### Design
Sondajul a fost creat parțial pe baza sondajului de anul trecut, cu o perioadă deschisă de feedback în care schița
acestuia a fost pusă în discuție [pe GitHub](https://github.com/StateOfJS/Monorepo/issues/56).
Toate întrebările sondajului au fost opționale.
### Audiență
Sondajul a fost accesibil online, iar respondenții nu au fost filtrați sau selectați în niciun fel. Respondenții
au fost în mare parte o combinație de respondenți ai sondajelor anterioare (anunțați pe baza unei liste dedicate
de email-uri) și trafic din social media.
Trebuie menționat că framework-urile, libăriile etc. au fost libere să-și încurajeze comunitatea să participe la
sondaj, iar unele dintre ele au profitat de acest avantaj prin bannere, tweet-uri etc. O defalcare detaliată a
surselor de trafic este inclusă în graficul „Surse”.
### Reprezentativitate și incluziune
Deși credem că e important să dăm o voce fiecărei comunități, realitatea este că un sondaj deschis cum e
acesta va avea întotdeauna dificultăți în a reprezenta cu succes pe toată lumea, mai ales atunci când operează
prin sisteme care au deja propriile biasuri inerente.
Pentru a contrabalansa acest lucru, am implementat 3 strategii distincte:
- **Extinderea**: încercăm în permanență să luăm legătura cu diferite organizații (cum sunt cele
specializate BIPOC sau LGBTQ ori platformele de predare online) în speranța de a ne diversifica audiența.
- **Analiza datelor**: prin funcționalități precum fațetele și variantele, încercăm permanent să scoatem în
evidență vocea oricărui segment demografic, indiferent cât de puțin ar reprezenta acesta în datele noastre.
- **Reducerea barierelor**: un sondaj prea lung, inaccesibil, care se încarcă greu, scris doar în limba engleză
etc. - toate pot contribui la impunerea unei „taxe de efort” care îi exclude pe cei ce nu-și permit să o
plătească. Rezolvarea acestor probleme poate reduce bariera de intrare și, în acest proces, să aducă un public
mai divers.
### Finanțarea proiectului
Finanțarea acestui proiect provine dintr-o varietate de surse:
- **Vânzarea de tricouri**.
- **Sponsorizările graficelor**: membrii comunității pot dona pentru sondaj, iar numele lor va fi afișat în raport.
- **Link-uri sponsorizate**: link-urile către resursele recomandate din josul fiecărei pagini sunt furnizate de
partenerul nostru [Frontend Masters](https://frontendmasters.com/).
- **Alte finanțări**: în acest an, echipa [Google Chrome](https://www.google.com/chrome/) a alocat un mic buget
pentru a ne ajuta să angajăm un [consultant în accesibilitate](https://fossheim.io/) care să lucreze la
sondajele CSS și JS.
Cu toate aceste finanțări, sondajul rămâne în mare parte un proiect autofinanțat, așadar orice contribuție sau
sponsorizare este foarte apreciată. Mi-aș dori să lucrez mai mult în special cu furnizorii de browsere deoarece
joacă un rol esențial în ecosistemul web.
### Prezentare tehnică
Poți găsi o prezentare tehnică detaliată despre cum se desfășoară sondajele [aici](https://dev.to/sachagreif/how-the-state-of-js-css-surveys-are-run-4lnb).
- **Colectarea de date**: custom [Vulcan.js](http://vulcanjs.org/) app.
- **Stocarea/prelucrarea datelor**: MongoDB & MongoDB Aggregations.
- **Data API**: API Node.js GraphQL.
- **Site-ul cu rezultate**: [Gatsby](https://www.gatsbyjs.com/) React app.
- **Vizualizarea datelor**: [Nivo](https://nivo.rocks/) React dataviz library.
- **Font**: [IBM Plex Mono](https://fonts.google.com/specimen/IBM+Plex+Mono) și [Bebas Neue](https://fonts.google.com/specimen/Bebas+Neue).