IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

« Nous devons arrêter d'utiliser JavaScript », lance Douglas Crockford, le créateur de JSON
Dont la sortie suggère que le langage est devenu une usine à gaz après une trentaine d'années d'existence

Le , par Patrick Ruiz

52PARTAGES

15  1 
Le langage JavaScript (JS) est présent sur tous les sites Internet et permet de rendre l’expérience utilisateur la plus agréable possible sur divers pans. Cela vient néanmoins avec un coût étant donné que ce langage s’exécute côté client (sur le PC de l’internaute) : la lenteur des sites qui découle de l’utilisation abusive de bibliothèques comme JQuery. C’est l’une des raisons pour lesquelles le créateur de JSON peut sortir comme cela a été le cas récemment pour prendre position : « Nous devons arrêter d’utiliser JavaScript. »

« 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

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de RenarddeFeu
Membre actif https://www.developpez.com
Le 07/08/2024 à 6:14
Le vrai problème, c'est le recours aux webapps et au cloud pour tout et n'importe-quoi, là où un client lourd suffit amplement.
10  1 
Avatar de Zefling
Expert confirmé https://www.developpez.com
Le 07/08/2024 à 9:15
Mais le CSS commence à devenir lui-même un langage de programmation. Ça va finir comme ça aussi

https://www.commitstrip.com/fr/2019/...s-everywhere/?

8  1 
Avatar de supertonic
Membre averti https://www.developpez.com
Le 07/08/2024 à 11:21
Perso j'en ai trop RAS la casquette de dev en WEB je veux en sortir par tout les moyens !

Un temps je défendais bec et ongle cette vision du "full web", et les décideurs ne s'y intéressaient pas trop.

Maintenant c'est l'inverse, du SPA à toutes les sauces, même là où ça rend les choses trop lourdes et complexes.
Le marché du dev est largement tiré par le "fullstack", corvéable dans "tous les domaines".
6  1 
Avatar de marc.collin
Membre émérite https://www.developpez.com
Le 07/08/2024 à 21:46
un livre assez intéressant sur les système hypermédia
https://hypermedia.systems/

quand tu vois tous la complexité qu'à amené les différents framework, librairie ultra utilisé de nos jours alors qu'il est possible d'avoir le même résultat avec d'ancienne techno avec un temps de développement autrement plus cours
5  0 
Avatar de melka one
Membre expérimenté https://www.developpez.com
Le 12/08/2024 à 15:41
N' etant pas pros mais ayant fait pas mal de chose en javascript, ce que dit douglas je le comprend, pour avoir exploité a fond les capacité des navigateur c'est a dire javascript les api le css et le DOM avec pour devise pas de framework ni de bibliothèques je comprend pas le pourquoi des framework et bibliothèques et surtout pourquoi la complexification du js et aussi du css qui prend le même chemin. Cette complexification force plus la mémoire pour tous retenir et l'apprentissage plus long mettant plus de cote la logique.

A la base js c’était simple et lisible et c"en est devenu compliqué pour rien a part peut écrire moins et encore j'ai des doutes, j'ai l'impression que l'on confond un code qui vas a l’essentiel et qui en conséquence est court a une syntaxe qui permet d’écrire plus court mais qui ne garantira jamais qu' un code aille a l'essentiel

ces histoire de biblio frameworks c'est comme l'ia c'est de mode mais ça ne règle pas le coté aller a essentiel d'un code, c'est juste fait pour qu'une personne qui s'y connais normalement voir pas beaucoup en code puisse dire a un vieux de la vielle qu'il est has-been par ce qu'il utilise des boucles for plutôt que des foreach alors qu'il code des supers trucs
5  0 
Avatar de Daïmanu
Membre émérite https://www.developpez.com
Le 07/08/2024 à 16:25
Question bête, mais on pourrait pas envisager d'utiliser un autre langage de script pour le web (côté client), par exemple du Python ou autre ?

Il faudra certainement une variante optimisé en terme de performance, et capable de manipuler le DOM et de faire de l'événementiel, mais ça réglerait ces soucis lié au JS je crois.

C'est une question ouverte, je n'ai pas assez de recul pour y répondre.
4  0 
Avatar de Zefling
Expert confirmé https://www.developpez.com
Le 14/08/2024 à 12:54
Citation Envoyé par oxedet Voir le message
Jquery et tous les framework front ne sont que des surcouches de js...
Je pense que presque personne utilise de langage sans framework aujourd'hui. C'est possible, beaucoup plus léger, mais réinventer la roue ça demande tellement de temps.
6  2 
Avatar de nhugodot
Membre habitué https://www.developpez.com
Le 07/08/2024 à 16:40
@Daïmanu:
Dart était sensé remplacer JS, Google avait fait un moteur d'art mais est est sorti, V8 aussi, JS a réussi à se mettre à la page (code et vitesse) et d'art permettant de se transpiler en JS, on est resté dessus. Mais vous pouvez donc passer à divers langages plus modernes transpilables en JS tels que Dart ou Elm.
Vous pouvez aussi passer à WebAssembly (WASM) et coder en C/C+/C#, voire Rust, Python, etc.
Et aussi éviter le web HTML et CSS pour coder avec un framework multicibles tel que Flutter (Dart) et générer le code cible Web (wasm ou HTML au choix!)
3  0 
Avatar de Metal3d
Membre régulier https://www.developpez.com
Le 08/08/2024 à 8:01
Je vois des confusions sur l'article mais aussi dans les commentaires...
JavaScript ne peut pas être comparé à Twig, ça n'a pas le même but et le calcul est fait à deux endroits différents.
JavaScript n'est pas jQuery, l'article laisse entendre que jQuery est actuel alors qu'il est surtout là pour des app non mises à jour.. jQuery est vraiment désuet en 2024.
Par contre je suis entièrement d'accord avec certains. On a trip fait de web App qui s'installent en mode desktop. D'un côté ça a permis de faire tourner la même app partout (Linux, Windows, Mac...) sans modification mais de l'autre côté on a tous les inconvénients qui se retrouvent sur un browser. Le code est devenu infernal et on doit mélanger des dizaines de technologies pour faire tourner un logiciel.

Je préfèrerai qu'on se penche à nouveau sur des framework client lourd, il en existe des multiplateforme comme "fyne.io" que j'affectionne.

Mais JavaScript est un langage très intéressant dans le monde du web, à condition d'arrêter de vouloir tout faire au travers de libraries lourdingues (genre l'horrible React)
4  1 
Avatar de el_juky
Membre à l'essai https://www.developpez.com
Le 07/08/2024 à 11:02
Douglas Crockford est vrai expert de JS mais je pense que la partie jQuery est déjà sur le déclin, et depuis un bon moment, au profit de d'autres façons de faire (TypeScript et autre).

Mon avis perso : le JS doit évoluer, pour devenir un langage mieux typé. Mais ne plus l'utiliser, ce serait dommage tant il a des particularités intéressantes.
Je dirait plutôt qu'il ne faut plus l'utiliser "tel que beaucoup de développeurs le font", c'est-à-dire sans vraiment le connaître (mais c'était déjà le cas il y a 15 ans, quand les dev utilisaient jQuery...), et en important des bibliothèques dans tous les sens.
2  0