Créé en 1995, JavaScript est aujourd'hui le langage le plus populaire selon de nombreux baromètres. C'est également l'écosystème dans lequel on voit le plus de technologies naitre tous les jours. Comme conséquence, il est parfois très difficile de faire des choix ou de voir une technologie s'imposer comme la norme à moins d'avoir de puissants sponsors pour la propulser. Selon les catégories, certaines technologies arrivent toutefois à se distinguer. C'est dans le but d'identifier clairement ces dernières qu'entre en jeu le State of JavaScript, une enquête annuelle internationale sur l'écosystème JavaScript.Les résultats de l'édition 2022 sont disponibles et nous présentons ici les points saillants.
Cette édition a vu la participation de 39 471 répondants ont participé au sondage. Un peu plus d'un répondant sur dix résidait aux États-Unis. L'Allemagne et la France viennent en seconde et troisième position des pays de résidence avec respectivement 5,2 % et 3,7 %. Le top 10 est complété par le Royaume-Uni (3,6 %), l'Inde (3,2 %), le Canada (2,5 %), la Pologne (2,4 %), le Brésil (2 %), l'Espagne (1,9 %) et les Pays-Bas (1,9 %). La Russie, qui était troisième dans l'édition précédente, figure en 11e position.
D'ailleurs, les langues dans lesquelles les développeurs JavaScript ont répondu sont :
- l'anglais (69,7 % des participants) ;
- le français (3,4 % des participants) ;
- l'allemand (3,1 % des participants) ;
- l'espagnol (3 % des participants) ;
- le russe (2,6 % des participants).
Sacha Greif a fait le commentaire suivant :
Après des années de stabilité relative, beaucoup commencent maintenant à remettre en question le statu quo.
De nouveaux frameworks front-end comme Solid et Qwik suggèrent que React pourrait ne pas avoir toutes les réponses après tout, et côté serveur Astro, Remix et Next.js (entre autres) nous font reconsidérer la quantité de code dont nous avons vraiment besoin pour livrer le client.
Nous aurons besoin de toutes les données que nous pourrons obtenir si nous voulons donner un sens à tout cela, et en fait, l'enquête de cette année a reçu 39 472 réponses massives, soit presque le double de l'année dernière !
En raison de cette audience nouvellement élargie, vous remarquerez peut-être des résultats inattendus, tels que la baisse de certaines fonctionnalités d'une année sur l'autre en matière de notoriété ou d'utilisation.
Mais avoir plus de données peut potentiellement signifier de nouvelles informations, et c'est pourquoi nous avons développé deux nouvelles façons d'interagir avec notre ensemble de données : l'explorateur de données vous permet de croiser deux variables et de mettre en évidence les résultats aberrants ; tandis que les filtres de graphique vous permettent de filtrer des graphiques spécifiques par salaire, pays, sexe et de nombreuses autres variables démographiques.
Nous avons également remplacé notre catégorie fourre-tout "back-end" par une page de framework de rendu plus spécifique et ajouté une nouvelle liste de créateurs de vidéos à la section Ressources.
Enfin, les questions sur les fonctionnalités et les bibliothèques ont également désormais une fenêtre contextuelle de commentaires qui vous permet de voir ce que les gens pensent réellement des éléments mentionnés dans l'enquête !
Avec tout cela à l'écart, découvrons ce que JavaScript a fait en 2022 !
De nouveaux frameworks front-end comme Solid et Qwik suggèrent que React pourrait ne pas avoir toutes les réponses après tout, et côté serveur Astro, Remix et Next.js (entre autres) nous font reconsidérer la quantité de code dont nous avons vraiment besoin pour livrer le client.
Nous aurons besoin de toutes les données que nous pourrons obtenir si nous voulons donner un sens à tout cela, et en fait, l'enquête de cette année a reçu 39 472 réponses massives, soit presque le double de l'année dernière !
En raison de cette audience nouvellement élargie, vous remarquerez peut-être des résultats inattendus, tels que la baisse de certaines fonctionnalités d'une année sur l'autre en matière de notoriété ou d'utilisation.
Mais avoir plus de données peut potentiellement signifier de nouvelles informations, et c'est pourquoi nous avons développé deux nouvelles façons d'interagir avec notre ensemble de données : l'explorateur de données vous permet de croiser deux variables et de mettre en évidence les résultats aberrants ; tandis que les filtres de graphique vous permettent de filtrer des graphiques spécifiques par salaire, pays, sexe et de nombreuses autres variables démographiques.
Nous avons également remplacé notre catégorie fourre-tout "back-end" par une page de framework de rendu plus spécifique et ajouté une nouvelle liste de créateurs de vidéos à la section Ressources.
Enfin, les questions sur les fonctionnalités et les bibliothèques ont également désormais une fenêtre contextuelle de commentaires qui vous permet de voir ce que les gens pensent réellement des éléments mentionnés dans l'enquête !
Avec tout cela à l'écart, découvrons ce que JavaScript a fait en 2022 !
Ce graphique présente les différents taux d'adoption pour chaque fonctionnalité, groupé par catégorie. La taille du cercle externe correspond au nombre total d'utilisateurs qui connaissent une fonctionnalité, alors que le celui interne représente ceux qui l'utilisent actuellement.
Fonctionnalités
Langage
Quel niveau de compétence dans le vocabulaire de JavaScript ?
Les proxy : l'objet Proxy est utilisé afin de définir un comportement sur mesure pour certaines opérations fondamentales (par exemple, l'accès aux propriétés, les affectations, les énumérations, les appels de fonctions, etc.). En 2022, 24,9 % du panel a déclaré les avoir déjà utilisés contre 26,1 % en 2021, 22,4 % en 2020 et 17,4 % en 2019. 41,5 % du panel en a déjà entendu parler, contre 43,5 % en 2021, 39,1 % en 2020 et 39,8 % en 2019.
Promise.allSettled() : La méthode Promise.allSettled() renvoie une promesse qui est résolue une fois que l'ensemble des promesses de l'itérable passée en argument sont réussies ou rejetées. La valeur de résolution de cette promesse est un tableau d'objets dont chacun est le résultat de chaque promesse de l'itérable.
| Code JavaScript : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 | const promise1 = Promise.resolve(3); const promise2 = new Promise((resolve, reject) => setTimeout(reject, 100, 'foo')); const promises = [promise1, promise2]; Promise.allSettled(promises). then((results) => results.forEach((result) => console.log(result.status))); // expected output: // "fulfilled" // "rejected" |
En 2022, 22,3 % du panel a déclaré l'avoir déjà utilisée (contre 19 % et 14,8 % respectivement en 2021 et en 2020) et 40,1 % du panel en avait déjà entendu parler (contre 46,4 % et 42,3 % respectivement en 2021 et en 2020).
Variables de classe privées : les champs de classe sont publics par défaut, mais des membres de classe privés peuvent être créés à l'aide d'un préfixe dièse #. L'encapsulation de confidentialité de ces fonctionnalités de classe est appliquée par JavaScript lui-même. Les membres privés ne sont pas natifs du langage avant que cette syntaxe n'existe. Dans l'héritage prototypique, son comportement peut être émulé avec des objets WeakMap ou des fermetures , mais ils ne peuvent pas être comparés à la syntaxe # en termes d'ergonomie....
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.