« Il y a 20 ans, je militais pour le JavaScript. J'expliquais que JavaScript était un langage bien meilleur que tout le monde ne le pensait et que si nous l'utilisions correctement, nous pourrions faire des choses extraordinaires et changer le monde. Et c'est ce qui s'est passé. Désormais, mon évangile est que nous devrions arrêter d'utiliser JavaScript », lance le créateur de JSON dont la sortie suggère que le langage JavaScript est désormais une usine à gaz après une vingtaine d’années d’existence.
Douglas Crockford est un programmeur et entrepreneur américain, notamment connu pour sa forte implication dans le développement du langage JavaScript et pour la création du format JSON. Il est également le développeur de l'outil JSLint, permettant de détecter des erreurs de syntaxe JavaScript ainsi que ce qu'il considère comme de mauvaises pratiques.
Depuis sa création pour rendre les premiers sites web dynamiques, JavaScript n'a cessé de gagner en popularité au fil des ans. Ce langage est resté le plus demandé de janvier 2022 à juin 2023, d’après des données de la plateforme DevJobScanner. JavaScript est présent sur quasiment tous les sites web, mais c’est suite à la « mode du tout JavaScript » que des problèmes font surface sur des sites Web en production.
En effet, ce langage permet de rendre l’expérience utilisateur agréable sur plusieurs pans :
- Aucun rechargement de la page pour une fonctionnalité spécifique (charger un liste, etc.).
- Permet de faire des animations.
- Evite de recharger une page pour valider des formulaires.
- Etc.
C’est une liste non exhaustive des possibilités que le langage offre. Le souci vient de l’utilisation tous azimuts de la bibliothèque JQuery par des programmeurs qui optent pour la facilité même dans des cas de figure où il est possible de s’en passer. Conséquence : l’exécution côté client du site Web se fait au rythme du chargement des éléments de la bibliothèque JQuery et donc à pas lents.
Ces programmeurs optent en général pour JQuery pour gérer des Sliders, des animations en tous genres, des pop-ups, des menus déroulants au détriment de CSS qui permet d’atteindre les mêmes objectifs tout en augmentant les performances du site web, car il n’y a plus de chargement de script inutile. Et donc s’il n’est pas possible de se débarrasser du langage JavaScript comme le suggère le créateur de JSON, il est question de se servir au maximum d’alternatives sérieuses dans le cadre de projets de développement web.
L'expérience de Gov.UK avec la bibliothèque JQuery pour JavaScript donne plus de détails techniques sur les raisons des appels à plus d'attention dans l'utilisation de JavaScript
En mars 2022, Matt Hobbs, Responsable du développement front-end de Government Digital Service (qui offre des plateformes, des produits et des services qui aident le gouvernement à devenir intégré, fiable et réactif aux besoins des utilisateurs notamment GOV.UK), a annoncé que GOV.UK avait supprimé sa dépendance jQuery. C'est un gros problème en ce qui concerne l'expérience utilisateur, car GOV.UK fournit des services et des informations en ligne pour le Royaume-Uni à grande échelle. Tout le monde n'utilise pas son MacBook Pro 2022 sur une connexion haut débit à couper le souffle. GOV.UK doit être accessible à tous, et cela signifie qu'il doit rester léger.
Voici quelques-uns des plus grands succès de Matt Hobbs sur ce que GOV.UK a remarqué en supprimant jQuery :
- Moins de temps de traitement frontal dans l'ensemble.
- 11 % de temps de blocage en moins au 75e centile.
- 10 % de temps de blocage en moins pour les utilisateurs au 95e centile. Ce sont des utilisateurs qui rencontrent des conditions de réseau et d'appareils très défavorables, et chaque gain de performance compte particulièrement pour eux.
L’équipe Bootstrap avait mis en avant des arguments similaires pour justifier l’abandon de JQuery
L'équipe Bootstrap qui a annoncé l'abandon de jQuery dès la première version alpha de Bootstrap 5 pour retourner à du pur JavaScript. Selon Mark Otto, créateur du framework et auteur du billet de blog qui a annoncé cette version alpha 1, « jQuery a apporté un accès sans précédent à des comportements JavaScript complexes pour des millions (milliards ?) de personnes au cours des quinze dernières années », et « peut-être qu'il a changé à jamais le JavaScript lui-même », mais le temps était venu pour l’équipe d’abandonner jQuery en tant que dépendance. Selon le billet, ce changement est rendu possible grâce aux progrès réalisés dans les outils de développement front-end et la prise en charge des navigateurs.
Le principal argument avancé pour justifier la suppression de jQuery dans Bootstrap v5 est que maintenant que plus de 95 % des fonctionnalités de jQuery sont désormais natives dans les navigateurs (les 5 % restants étant sans doute des bizarreries excessivement rétrocompatibles qui méritent d'être ignorées), ajouter une dépendance serait soit « stupide », soit un gaspillage de bande passante.
Dans la communauté des développeurs, les avis divergent quant à ce changement. Ceux qui l'ont bien accueilli reconnaissent que jQuery est l’une des bibliothèques les plus importantes de l’histoire JavaScript et a permis de créer de véritables applications Web. Ils estiment cependant que depuis lors, les différences entre les navigateurs se sont considérablement réduites et nous avons appris à créer des applications maintenables et évolutives de manière plus déclarative, grâce à des frameworks comme React, Angular et autres. Du coup, jQuery ne serait plus d'une grande utilité.
JavaScript fait partie des langages les plus populaires dans les offres d’emploi publiées sur la plateforme https://emploi.developpez.com/. Le langage fait en sus partie des mieux payés en région parisienne et en province, en 2023.
Les données sur developpez.com font état de ce que, malgré son aspect incontournable dans la programmation Web, JavaScript est en baisse continue depuis 2020. Il était en deuxième place en 2015, mais maintenant se retrouve en quatrième place du classement des langages les plus populaires sur la plateforme. C’est une indication de ce que, si les besoins en JavaScript ne sont pas prêts de s'éteindre, en revanche, il semblerait que la mode du tout JavaScript (avec, entre autres, son utilisation dans le célèbre node.js) est en train de s’estomper pour le plus grand des performances des sites Web.
Source : Douglas Crockford
Et vous ?
Les griefs mis en avant à l’encontre du langage JavaScript pour ce qui est du développement des sites Web sont-ils cohérents avec la réalité dont vous êtes au fait ?
Quelles sont les alternatives à JavaScript sur lesquelles vous vous appuyez pour livrer à vos clients des sites Web dynamiques exempt des inconvénients qu’une mise à contribution de JavaScript entrainerait ?
Quels sont les langages et outils dont vous vous servez pour développer des sites Web dynamiques sans vous appuyer sur JavaScript et des bibliothèques comme JQuery ? Quels sont les avantages de votre approche en comparaison de celle qui s’appuie sur JavaScript et ses bibliothèques ?
Voir aussi :
Prise en main d’ES6.Aperçu des principales fonctionnalités
Quelles sont les nouvelles fonctionnalités qui pourraient débarquer dans JavaScript en 2019 ? Un tour d'horizon des candidats pour ES2019
La version 12 de Node.js est disponible et serait 30 % plus rapide au démarrage que les versions précédentes
Apprendre à programmer en Node.js avec MongoDB : découvrir le paradigme de MongoDB axé sur les documents dans Node.js, un tutoriel proposé par IBM