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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Pourquoi Gov.UK, le site Web d'information du secteur public du Royaume-Uni, a cessé d'utiliser jQuery


Sujet :

jQuery

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    mars 2013
    Messages
    6 939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : mars 2013
    Messages : 6 939
    Points : 158 384
    Points
    158 384
    Par défaut Pourquoi Gov.UK, le site Web d'information du secteur public du Royaume-Uni, a cessé d'utiliser jQuery
    Pourquoi Gov.UK, le site Web d'information du secteur public du Royaume-Uni, a cessé d'utiliser jQuery.
    La bibliothèque JavaScript est-elle toujours aussi utile et incontournable qu'à ses débuts ?

    A-t-on vraiment besoin de jQuery aujourd'hui ? C'est une question à laquelle GOV.UK et l'équipe de Bootsrap ont répondu par un « non » retentissant. Le chef de l'unité de transformation numérique du gouvernement britannique a récemment annoncé une modification du site des services gouvernementaux du pays gov.uk : ils ont « supprimé jQuery en tant que dépendance pour toutes les applications front-end, ce qui signifie que 32 Ko de code JavaScript minifié et compressé ont été supprimés » pour tout, de la sélection d'éléments à l'attachement d'écouteurs d'événements. En tant que développeur, quel est votre avis ?

    Créé pour simplifier l'écriture de JavaScript et HTML, jQuery est arrivé au bon moment en 2006, avec la complexification croissante des interfaces Web. Cela lui a permis de séduire en masse les développeurs Web et d'avoir le statut d'élément fondamental dans les formations aux technologies du Web.

    jQuery est une dépendance d'environ 30 Ko utilisée par près de 84 % des pages mobiles en 2021, et pour cause. jQuery était un outil instrumental à une époque où nous avions vraiment besoin d'un moyen de scripter l'interactivité de manière à lisser les différentes implémentations de choses comme la gestion des événements, la sélection d'éléments, l'animation d'éléments, etc.

    Voici un exemple d'Ajax avec jQuery :

    Code jQuery : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $(document).ready(function() {                    // Lorsque le document est chargé
        $(".load_page_on_click").click(function() {   // Lorsque l’on clique sur un élément d'attribut class "load_page_on_click"
            var email = $("input[name=email]").val(); // Variable contenant la valeur d'un élément input d'attribut name "email"
            $.ajax({                         // Exécution d’une requête Ajax avec la configuration donnée par l'objet suivant :
                async: "true",               // - requête asynchrone
                type: "GET",                 // - type HTTP GET
                url: "mapage.php",           // - URL de la page à charger
                data: "email=" + encodeURIComponent(email) + "&action=get_email", // - données à envoyer
                error: function(errorData) { // - fonction de rappel en cas d’erreur
                    $("#error").html(errorData);
                },
                success: function(data) {    // - fonction de rappel pour le traitement des données reçues en cas de succès
                    $("#container").html(data); $("#error").append("Contenu chargé");
                }
            }); // Fermeture de l'appel à la fonction $.ajax
        });     // Fermeture de la fonction de rappel du $(".load_page_on_click").click
    });         // Fermeture de la fonction de rappel du $(document).ready

    Le Web est meilleur grâce à jQuery, non seulement parce qu'il a une utilité incroyable, mais parce que son omniprésence a conduit à intégrer ce qu'il a fourni à la plateforme Web elle-même. De nos jours, nous pouvons faire à peu près tout ce que jQuery peut faire en Vanilla JavaScript (un nom auquel se référer lorsque les développeurs utilisent du JavaScript simple sans aucune bibliothèque supplémentaire comme jQuery) :
    • Nous pouvons sélectionner des éléments en utilisant une syntaxe de sélecteur CSS avec querySelector et querySelectorAll.
    • Nous pouvons ajouter, supprimer et basculer des classes sur des éléments avec l'API classList.
    • Nous pouvons attacher des gestionnaires d'événements aux éléments DOM et à la fenêtre en utilisant addEventListener.
    • Et tellement, tellement plus.

    jQuery était il y a peu la bibliothèque JS la plus utilisée au monde et bon nombre de frameworks l'utilisaient pour fonctionner. Mais avec l'émergence de nouvelles technologies (bibliothèques et frameworks) et la modernisation des navigateurs, le caractère incontournable, voire la pertinence, de jQuery ne fait plus l'unanimité. Les problèmes qui autrefois nécessitaient jQuery sont maintenant en train d'être résolus par les navigateurs et le standard EcmaScript en évolution. Certains développeurs ont donc commencé à prendre de la distance vis-à-vis de la bibliothèque JavaScript.

    C'est le cas par exemple de 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é.

    La suppression du moteur de sélection de jQuery parce qu'il existe maintenant des sélecteurs natifs dans les navigateurs modernes tend à donner raison à ceux qui pensent que jQuery est de moins en moins pertinent. D'autres estiment malgré tout que la bibliothèque JS est loin d'être obsolète, car les techniques jQuery ne sont pas aussi ergonomiques à mettre en œuvre sans utiliser jQuery. Pour ces derniers, ça reste donc un outil très productif qui offre des solutions simples à de nombreux problèmes.

    Le cas du site gouvernemental britannique

    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.

    Nom : matt.png
Affichages : 89269
Taille : 31,5 Ko

    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.

    Le fil Twitter de Matt n'est pas avare en informations diverses, notamment sur la mesure détaillée des performances avec et sans jQuery.

    Source : Matt Hobbs

    Et vous ?

    Avez-vous développé récemment en JavaScript ? Avez-vous fait appel à un framework comme jQuery ou un autre ? Lequel ?
    Qu'en pensez-vous ? jQuery est-il toujours assez populaire en 2022 selon vous ?
    Pensez-vous que jQuery soit encore pertinent au vu de l'évolution de JavaScript et d'autres paramètres comme les navigateurs, les débits de connexion, etc. ? Si oui, pourquoi ? Si non, dans quelle mesure ?
    La bibliothèque JavaScript est-elle toujours aussi utile et incontournable qu'à ses débuts ?

    Voir aussi :

    La première version alpha de Bootstrap 5 est disponible avec des formulaires mis à jour et les propriétés CSS personnalisées, mais sans le support d'Internet Explorer et jQuery
    La version 5.0 de Bootstrap supprimera le support d'Internet Explorer 11, cela fait suite à l'annonce de supprimer jQuery pour du pur JavaScript
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    août 2003
    Messages
    714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : août 2003
    Messages : 714
    Points : 1 840
    Points
    1 840
    Par défaut
    Il me semble que quand le navigateur est trop vieux, Google nous jette car au niveau des certificats HTTPS ça coince.

    jQuery a fait son temps et les navigateurs et les géants ont imposés leur technologies depuis plusieurs années. Donc je pense qu'il est grand temps d'abandonner progressivement jQuery.
    Il y a maintenant des frameworks et npm qui fournissent beaucoup de ressources Javascript.

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    janvier 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : janvier 2007
    Messages : 184
    Points : 466
    Points
    466
    Par défaut JQuery c'est fini
    Il y a deux ans j'ai voulu bannir de mon projet jquery car JavaScript propose les mêmes facilitées cependant les habitudes de certains développeurs sont difficiles à changer et Jquery a été réintégré a mon grand désespoir... J'ai quand même gagné une bataille de l'utilisation de fetch a la place de Ajax de Jquery ! Maintenant avec Bootstrap 5 je crois que j'interdirai purement et simplement Jquery je ne vois aucune raison de ne pas le faire aujourd'hui.

  4. #4
    Membre à l'essai
    Inscrit en
    mai 2004
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : mai 2004
    Messages : 12
    Points : 18
    Points
    18
    Par défaut
    Le JS de base m'a toujours semblé plus simple et plus pérenne que jquery.
    Ça fait bien longtemps que cette librairie aurait dû être abandonnée (comme le suggérait le site https://youmightnotneedjquery.com/, créé il y a plusieurs années).

    Les dev Web subissent ce qui s'annonçaient comme une évidence : ils doivent refaire le JS de leur site, voire réapprendre un langage qui a continué à évoluer. Ils doivent oublier le fameux wrapper $, qui est une hérésie au niveau des performances et du fait qu'il réimplémente ce qui existe déjà dans le langage de base (comme html, équivalent à innerHTML dans l'exemple donné).

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    août 2003
    Messages
    714
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : août 2003
    Messages : 714
    Points : 1 840
    Points
    1 840
    Par défaut
    En plus maintenant il y a aussi web assembly qui peut servir a faire des choses plus lourdes côté client

  6. #6
    Membre chevronné
    Homme Profil pro
    Ingénieur en génie logiciel
    Inscrit en
    juin 2012
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur en génie logiciel
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : juin 2012
    Messages : 698
    Points : 1 887
    Points
    1 887
    Par défaut
    j'utilise encore jquery, car en autre la fonction ajax, load exécute le code js de la page retourné... chose que fetch ne fait pas.....

  7. #7
    Membre éclairé
    Homme Profil pro
    Webdesigner
    Inscrit en
    juin 2014
    Messages
    348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Associations - ONG

    Informations forums :
    Inscription : juin 2014
    Messages : 348
    Points : 689
    Points
    689
    Par défaut
    j'utilise JQuery indirectement, puisque les bibliothèques dont je me sers sont basées sur JQuery. Sinon, ça ne sert plus à rien pour deux raisons:
    - celle invoquée dans l'article, à savoir les apports de ES 5 et 6
    - la compatibilité des navigateurs avec les standards. Sauf bien sûr pour les quelques IE encore en service. Les utilisateurs ont le droit de faire de la résistance, mais j'ai le droit d'y résister ! ;-)

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/02/2010, 15h36
  2. Récupérer des informations d'un autre site web
    Par divad dans le forum Langage
    Réponses: 7
    Dernier message: 01/05/2008, 22h01
  3. Réponses: 13
    Dernier message: 04/10/2007, 19h17
  4. Récupérer des informations sur un site web
    Par JnewB dans le forum Langage
    Réponses: 11
    Dernier message: 08/04/2007, 19h44
  5. [Débat] Pourquoi faut il encore faire des sites Web compatibles IE ?
    Par Strix dans le forum Général Conception Web
    Réponses: 63
    Dernier message: 16/03/2007, 12h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo