À l’aide d’une méthode simple et infaillible, nous avons dressé une photographie de l’état de JavaScript en ce début de 2024.
Les méthodes traditionnelles de calcul présentent des biais évidents :
- Basées sur des sondages : le panel ne peut jamais être représentatif.
- Basées sur les offres d’emplois : dépendent du bon vouloir de partage des données des plateformes. De quelles plateformes s'agit-il ? Elles n’incluent pas le marché hors plateforme.
- Basées sur les recherches Google : montrent l’intérêt mais pas l’usage réel.
Quel est l’intérêt de notre méthode de calcul de l’état de JavaScript ?
Nous utilisons une donnée que beaucoup de développeurs JavaScript utilisent pour savoir si une dépendance peut être incluse dans un projet : le nombre de fois que cette dépendance a été téléchargée.
Pour cela, on se dirige vers NPM. npm est le gestionnaire de paquets par défaut pour l'environnement d'exécution JavaScript et Node.js.
Simple d’utilisation, les pages web de chaque librairie donnent une information importante : le nombre de téléchargements hebdomadaires de celle-ci, avec un historique de un an.
Pour savoir si l’écosystème est en croissance ou en décroissance, il suffit donc de se baser sur l’évolution de ces téléchargements pour les librairies les plus utilisées de l’écosystème JavaScript.
Je me base sur mon expérience et je prends le parti de centrer l’analyse sur le développement web et non sur la création d’outils en ligne de commande (très utilisés sur Node.js).
Celles-ci sont :
- Chalk : La librairie qui colore les sorties du terminal (utilisée par de très nombreux autres paquets).
- Express : le wrapper de Node.js pour la configuration serveur.
- TypeScript : On ne présente plus le langage qui apporte le typage à JS.
- Eslint : un essentiel pour standardiser le code créé.
- Axios : l’outil le plus puissant pour effectuer des requêtes côté serveur et côté client.
- React : Le framework front-end le plus populaire.
- Lodash : la librairie fourre-tout d’utilitaires JS, encore massivement utilisée.
- uuid : le générateur d’UUID, très utilisé dans l’écosystème pour générer des ID uniques.
Évolution des téléchargements
Ce tableau montre l’évolution de l’usage (téléchargements hebdomadaires) sur une année.
En millier | mai 2023 | mai 2024 | évolution |
---|
Chalk | 25,000 | 30,000 | ↗️ |
Express | 28,600 | 29,500 | ↗️ |
TypeScript | 20,000 | 23,000 | ↗️ |
Eslint | 32,000 | 38,000 | ↗️ |
Axios | 43,500 | 49,000 | ↗️ |
React | 39,900 | 52,850 | ↗️↗️ |
Lodash | 49,500 | 49,500 | = |
uuid | 87,500 | 101,500 | ↗️↗️ |
Dans quel état est JavaScript en 2024 ?
On constate que l’écosystème JavaScript reste très dynamique, avec une utilisation en hausse.
L’intérêt pour React ne se dément pas, la croissance est encore très forte, ce qui inclut aussi le fort développement de Next.js, le framework complet.
L’utilisation de TypeScript suit le mouvement mais ne décolle pas. Il y a peut-être un biais : les développeurs ont tendance à installer TypeScript globalement sur leur machine et non sur le projet lui-même. Néanmoins, une analyse rapide montre que TypeScript n’est pas forcément le premier choix pour les nouveaux projets React ou Express (il y a plus de téléchargements de ces librairies que de téléchargements de TypeScript).
Côté serveur, l'arrivée de frameworks comme Nest.js ou l’utilisation de l’implémentation backend de Next.js explique la relative stagnation de Express. Néanmoins, il n’y a pas de chute de l’usage, cette librairie est encore massivement plébiscitée pour sa simplicité d’utilisation.
Node.js est donc en croissance, ce qui est une bonne nouvelle pour les développeurs JavaScript backend se posant la question de l’avenir de leur métier.
État de JavaScript : Pas de perte de vitesse pour l’instant
Au vu de la croissance des librairies, il est possible d'affirmer que l'écosystème JavaScript se porte très bien et continue de générer des besoins de développement importants.
On constate une croissance à deux chiffres sur React et uuid, ce qui implique une adoption massive.
Nos formations TypeScript et Node.js restent pertinentes pour les développeurs souhaitant se tenir à jour dans leur métier.