Selon les catgoriesCette dition a vu la participation de 39 471 rpondants ont particip au sondage. Un peu plus dâun rpondant sur dix rsidait aux tats-Unis. LâAllemagne et la France viennent en seconde et troisime position des pays de rsidence avec respectivement 5,2 % et 3,7 %. Le top 10 est complt par le Royaume-Uni (3,6 %), lâInde (3,2 %), le Canada (2,5 %), la Pologne (2,4 %), le Brsil (2 %), lâEspagne (1,9 %) et les Pays-Bas (1,9 %). La Russie, qui tait troisime dans lâdition prcdente, figure en 11e position. Dâailleurs, les langues dans lesquelles les dveloppeurs JavaScript ont rpondu sont :
/li>/li>/li>/li>/li>
Sacha Greif a fait le commentaire suivant :
Aprs des annes de stabilit relative, beaucoup commencent maintenant remettre en question le statu quo.De nouveaux frameworks front-end comme Solid et Qwik suggrent que React pourrait ne pas avoir toutes les rponses aprs tout, et ct serveur Astro, Remix et Next.js (entre autres) nous font reconsidrer la quantit de code dont nous avons vraiment besoin pour livrer le client.Nous aurons besoin de toutes les donnes que nous pourrons obtenir si nous voulons donner un sens tout cela, et en fait, lâenqute de cette anne a reu 39 472 rponses massives, soit presque le double de lâanne dernire ! En raison de cette audience nouvellement largie, vous remarquerez peut-tre des rsultats inattendus, tels que la baisse de certaines fonctionnalits dâune anne sur lâautre en matire de notorit ou dâutilisation.Mais avoir plus de donnes peut potentiellement signifier de nouvelles informations, et câest pourquoi nous avons dvelopp deux nouvelles faons dâinteragir avec notre ensemble de donnes : lâexplorateur de donnes vous permet de croiser deux variables et de mettre en vidence les rsultats aberrants ; tandis que les filtres de graphique vous permettent de filtrer des graphiques spcifiques par salaire, pays, sexe et de nombreuses autres variables dmographiques.Nous avons galement remplac notre catgorie fourre-tout « back-end » par une page de framework de rendu plus spcifique et ajout une nouvelle liste de crateurs de vidos la section Ressources.Enfin, les questions sur les fonctionnalits et les bibliothques ont galement dsormais une fentre contextuelle de commentaires qui vous permet de voir ce que les gens pensent rellement des lments mentionns dans lâenqute ! Avec tout cela lâcart, dcouvrons ce que JavaScript a fait en 2022 !
Aperu des utilisationsCe graphique prsente les diffrents taux dâadoption pour chaque fonctionnalit, group par catgorie. La taille du cercle externe correspond au nombre total dâutilisateurs qui connaissent une fonctionnalit, alors que le celui interne reprsente ceux qui lâutilisent actuellement.
niveau de comptence dans le vocabulaire de JavaScript ? Les proxy : lâobjet Proxy est utilis afin de dfinir un comportement sur mesure pour certaines oprations fondamentales (par exemple, lâaccs aux proprits, les affectations, les numrations, les appels de fonctions, etc.). En 2022, 24,9 % du panel a dclar les avoir dj utiliss contre 26,1 % en 2021, 22,4 % en 2020 et 17,4 % en 2019. 41,5 % du panel en a dj entendu parler, contre 43,5 % en 2021, 39,1 % en 2020 et 39,8 % en 2019.Promise.allSettled() : La mthode Promise.allSettled() renvoie une promesse qui est rsolue une fois que lâensemble des promesses de lâitrable passe en argument sont russies ou rejetes. La valeur de rsolution de cette promesse est un tableau dâobjets dont chacun est le rsultat de chaque promesse de lâitrable.
12345678910const promise1 = Promise.resolve(3);
const promise2 = new Promise((resolve, reject) => setTimeout(reject, 100, âfooâ));
const promises = ;
Â
Promise.allSettled(promises).
then((results) => results.forEach((result) => console.log(result.status)));
Â
// expected output:
// « fulfilled »
// « rejected »
En 2022, 22,3 % du panel a dclar lâavoir dj utilise (contre 19 % et 14,8 % respectivement en 2021 et en 2020) et 40,1 % du panel en avait dj entendu parler (contre 46,4 % et 42,3 % respectivement en 2021 et en 2020).Variables de classe prives : les champs de classe sont publics par dfaut, mais des membres de classe privs peuvent tre crs lâaide dâun prfixe dise #. Lâencapsulation de confidentialit de ces fonctionnalits de classe est applique par JavaScript lui-mme. Les membres privs ne sont pas natifs du langage avant que cette syntaxe nâexiste. Dans lâhritage prototypique, son comportement peut tre mul avec des objets WeakMap ou des fermetures, mais ils ne peuvent pas tre compars la syntaxe # en termes dâergonomie.
#privateField;
# = 42;
Â
// Â
Â
static #privateStaticField;
static # = 42;
Â
// Â
Les champs privs incluent les champs dâinstance privs et les champs statiques privs. Les champs privs sont accessibles sur le constructeur de classe depuis lâintrieur de la dclaration de classe elle-mme. Ils sont utiliss pour la dclaration des noms de champs ainsi que pour accder la valeur dâun champ.En 2022, 25,9 % du panel a dclar sâtre servi des champs privs, contre 20,4 % en 2021 et 10,9 % en 2019.API navigateurService workers : les service workers jouent essentiellement le rle de serveurs proxy placs entre une application web, et le navigateur ou le rseau (lorsque disponible.) Ils sont destins (entre autres choses) permettre la cration dâexpriences de navigation dconnecte efficaces, en interceptant les requtes rseau et en effectuant des actions appropries selon que le rseau est disponible et que des ressources mises jour sont disposition sur le serveur. Ils permettront aussi dâaccder aux APIs de notifications du serveur (push) et de synchronisation en arrire-plan.Un service worker est un worker vnementiel enregistr auprs dâune origine et dâun chemin. Il prend la forme dâun fichier JavaScript qui peut contrler la page ou le site web auquel il est associ, en interceptant et en modifiant la navigation et les requtes de ressources, et en mettant en cache les ressources selon une granularit trs fine pour vous donner une matrise complte de la manire dont doit se comporter votre application dans certaines situations (lâune des plus videntes tant lâindisponibilit du rseau.)Un service worker fonctionne dans le contexte dâun worker : il nâa donc pas dâaccs au DOM, et sâexcute dans une tche diffrente de celle du script principal de votre application, ainsi il est non-bloquant. Il est conu pour tre totalement asynchrone ; en consquence, des APIs telles que XHR en synchrone et localStorage ne peuvent pas tre utilises au sein dâun service worker.Les service workers fonctionnent uniquement sur HTTPS, pour des raisons de scurit. Laisser des requtes rseau modifies sans dfense face aux attaques de lâhomme du milieu est une bien mauvaise chose.En 2022, 40,8 % du panel a dclar les avoir dj utiliss, contre 45,7 % dans lâdition prcdente.
Intl : lâobjet Intl est lâespace de noms pour lâAPI dâInternationalisation dâECMAScript. Elle fournit des outils de comparaison de chanes de caractres, de formatage des nombres, de dates et de lâheure selon les langues. Intl donne accs plusieurs constructeurs et fonctionnalits communes aux constructeurs destins lâinternationalisation et dâautres fonctions dpendantes des langues.En 2022, 38,2 % du panel a dclar lâavoir dj utilis, contre 36 % dans lâdition prcdente.WebGL : WebGL permet dâafficher, de crer et de grer dynamiquement des lments graphiques complexes en 3D dans la fentre du navigateur web dâun client. Il est actuellement implment dans la plupart des grands navigateurs modernes, mais cette implmentation est rcente, dâo le fait que cette technologie reste assez mconnue du grand public. Lorsquun lment graphique de type WebGL est inclus dans une page web, le navigateur excute un programme en JavaScript utilisant lâinterface WebGL. La bibliothque WebGL appelle son tour le pilote OpenGL ES du systme dâexploitation qui se chargera de faire les calculs ncessaires lâaffichage sur lâcran, en exploitant si possible lâacclration matrielle du ou des processeurs graphiques du terminal. En 2022, 20 % du panel a dclar lâavoir utilis, contre 21,6 % en 2021 et 17,5 % en 2020.Autres Web App : les applications Web progressives utilisent des API Web modernes ainsi quâune stratgie dâamlioration progressive traditionnelle pour crer des applications Web multiplateformes. Ces applications fonctionnent partout et fournissent quelques fonctionnalits qui donnent lâexprience utilisateur les mmes avantages que les applications natives. Pour quâune application Web soit considre comme un PWA, techniquement parlant, il devrait prsenter les caractristiques suivantes : Secure contexts (HTTPS), un ou plusieurs Service Workers et un fichier manifest.
WebAssembly : WebAssembly est un nouveau type de code qui peut tre excut dans un navigateur web moderne. Câest un langage bas niveau, semblable lâassembleur permettant dâatteindre des performances proches des applications natives (par exemple crites en C/C++) tout en fonctionnant sur le Web. WebAssembly est conu pour fonctionner en lien avec JavaScript.WebAssembly permet dâexcuter du code (ventuellement crit depuis diffrents langages) sur le Web avec des performances similaires aux applications natives. WebAssembly est conu pour tre utilis de pair avec JavaScript. Grce lâAPI JavaScript WebAssembly, on peut charger des modules WebAssembly au sein dâune application JavaScript et partager des fonctionnalits entre les deux. Cela permet de tirer parti des performances de WebAssembly et de la flexibilit de JavaScript, mme si on ne sait pas crire du code WebAssembly.
Bibliothques et frameworksFrameworks front-endReact reste le framework le plus utilis, suivi par Angular, Vue.js, Svelte et Preact. Le trio de tte nâa pas chang depuis lâdition 2017. En revanche, en termes de satisfaction dans lâutilisation des frameworks, Solid, Svelte et Quick se place respectivement en premire, seconde et troisime place. React quitte le trio de tte pour se retrouver la quatrime place suivi par Vue.js. Frameworks axs sur le rendu et le service de votre applicationDu ct des frameworks axs sur le rendu et le service de votre application, Next.js conserve la premire place quâil a acquise depuis lâdition 2018. En fait, le trio de tte est le mme depuis lâdition 2020 : il sâagit respectivement de Next.js, Gatsby et Nuxt. Cependant, en termes de satisfaction dans lâutilisation des frameworks, câest Astro qui est en tte, suivi par SvelteKit et Next.js ferme la marche du top 3. Bibliothques les plus Drasner, Directrice de lâingnierie et de lâinfrastructure Web pour le compte de Google, a dclar :
Solid a explor de nouvelles approches de la ractivit Bravo !
Source : rsultats de lâenquteEt vous ? Que pensez-vous des conclusions de cette enqute ?
Si oui, lesquelles ? Quelles sont vos impressions ?
Selon vous, quelles fonctionnalits manquent encore JavaScript ?
test, dveloppement mobile et desktop, etc.)Â ?