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 :

L'impact de la suppression de jQuery sur les performances Web de jQuery sur GOV.UK


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Chef de Projet / Développeur
    Inscrit en
    Juin 2002
    Messages
    621
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de Projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2002
    Messages : 621
    Par défaut
    Ce qui est certain c'est que le site gov.uk (qui existe contrairement à gouv.fr) est extrêmement rapide et léger : aucune image, aucun partage vers les réseaux sociaux.

    Le fait que le site racine gov.uk existe évite d'avoir à passer par google pour trouver le sous-site qui nous intéresse (impôt, justice etc.) est un plus indiscutable.
    Pour le reste, je ne sais pas quoi en penser. C'est à la fois clair et hyper-réactif mais on dirait la page perso d'un site des années 90.
    C'est presque à se demander à quoi leur sert javascript.

    Pour comparer, j'ai regardé ce qui passait sur le réseau pour le site https://www.ecologie.gouv.fr/
    Ils n'utilisent pas jQuery, mais s'ils l'utilisaient ce ne serait pas le 32 Ko de ce dernier qui serait le problème (quoiqu'on pense de ce dernier).

  2. #2
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 580
    Par défaut
    32 Ko d'économisés, bravo
    Quand je vois que le front-end dans ma boite pèse plusieurs Mo, je me dis depuis toujours que ce n'est pas jQuery le problème
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juin 2014
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

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

    Informations forums :
    Inscription : Juin 2014
    Messages : 461
    Par défaut
    « jQuery est une dépendance d'environ 30 Ko »
    Non, elle fait 86 Ko (version 3.4.1)

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Citation Envoyé par domi65 Voir le message
    « jQuery est une dépendance d'environ 30 Ko »
    Non, elle fait 86 Ko (version 3.4.1)
    86Ko c'est la version normal , mais a peut près n'importe quel serveur web configuré correctement sert une version gzipé qui doit être autour des 30Ko
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre expérimenté
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juin 2014
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

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

    Informations forums :
    Inscription : Juin 2014
    Messages : 461
    Par défaut
    On peut même dire que c'est zéro octets puisque il y a de bonne chance que la bibliothèque soit dans le cache. Mais cela fait bien 86 Ko de code JS à analyser par l'interpréteur.
    Cela dit, je reconnais que je n'ai aucune idée du travail que cela demande au processeur.

    P.S.
    J'ai vu dernièrement une page où JQuery ne servait qu'à faire $('#identifiant').clic(fonction(){...}). Parfaitement con, à mon avis, surtout que la fonction en question était truffée de document.getElementById('identifiant').

  6. #6
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2014
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2014
    Messages : 111
    Par défaut
    Mmm !
    Je me passerais de JQuery quand l'API fetch ne produira plus des bugs inattendus et hasardeux,
    c'est bien de dire "Mec t'est rouillé de faire des requêtes http en AJAX, sert-toi de fetch", Oui mais fetch plante lamentablement des fois,
    comme ça, sans prévenir, et même après avoir passé deux jours à configurer tous les headers correctement (je suis au top en headers maintenant !).

    Encore, petit goodie, fetch ne reconnait pas l'en-tête "application/json". (whaaat ??)

    Une dernière chose sur du pur JS, j'ai demandé la modification de la documentation JS sur Mozilla
    car undefined DOIT s'utiliser entouré de guillemets avec l'opérateur typeof, pour le reste y'en pas besoin, va le savoir ça ...

    Bref, en plein dev. d'une API, j'ai décidé d'en faire une partie en "vanillia", pour tester,
    j'ai fait tout mon gestionnaire de stats. en pur JS
    et franchement j'estime avoir mis entre 40% et 50% de temps en plus, alors oui c'est vieux JQuery mais
    quand tu dois produire du code de qualité en rase campagne et que tu dois gagner ta croûte, et bien c'est rapide et efficace ...

    Mais les technos à la hype citées plus en amont, ça se vend plus cher, c'est bien pour les grosses boites et ça permet
    de d'aérer les cerveaux des devs.

  7. #7
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 498
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 498
    Par défaut
    @ABCIWEB
    ce n'est pas parce que tu sais conduire une voiture automatique, que tu sais conduire une manuelle... par contre, si tu sais conduire une manuelle, conduire une automatique est un jeu d'enfant.
    => ce n'est pas parce que tu sais faire du jquery que tu sais faire un JS.

    quand j'ai abandonne jquery, je me suis vraiment penche sur la doc de chaque nouvelle chose que j'aprennais en vanilla... et je me suis senti tellement "inculte du JS", je me suis meme demande si j'avais le droit de mettre "JS" sur mon CV tellement j'avais de lacunes....

    si c'est la verbosite / lisibilite qui te pose probleme, tu peux toujours te faire des "alias". par exemple
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function qs(s) { return document.querySelector(s); }
    function qsa(s) { return document.querySelectorAll(s); }
     
    const list = qsa('.maListe');

    sinon, le switch de jquery a js est comme apprendre un nouveau language... le plus long est d'apprendre les syntaxes

    @oooopppp
    perso... je n'ai jamais eu de probleme avec fetch... quelque soit la conf...
    le seul truc que je n'avais pas compris (et qui peu en surprendre plus d'un...) est qu'une erreur 404 n'est pas une erreur de fetch...
    => le fetch a correctement recu une reponse du serveur, qui s'avere avoir un statut 404
    => une 404 (ou autre codes d'erreur) ne va pas trigger le .catch du fetch...

    pour ce qui est du typeof... je suis desole, mais c'est la 1ere ligne de la doc : developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Operators/typeof
    Citation Envoyé par oooopppp
    L'opérateur typeof renvoie une chaîne qui indique le type de son opérande.
    donc oui... quand tu teste le typeof undefined... faut tester une string...

    Citation Envoyé par oooopppp
    en pur JS et franchement j'estime avoir mis entre 40% et 50% de temps en plus
    c'est normal... tu ne connais pas le vanilla sur le bout des doigts ...

    Citation Envoyé par Rolllmops
    JavaScript vanilla manque en effet cruellement d'api natives pour animer des propriétés.
    c'est "normal" j'ai envis de dire... ce n'est pas le but 1er du JS
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  8. #8
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2014
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2014
    Messages : 111
    Par défaut
    @oooopppp
    perso... je n'ai jamais eu de problème avec fetch... quelque soit la conf...
    le seul truc que je n'avais pas compris (et qui peu en surprendre plus d'un...) est qu'une erreur 404 n'est pas une erreur de fetch...
    => le fetch a correctement reçu une réponse du serveur, qui s'avere avoir un statut 404
    => une 404 (ou autre codes d'erreur) ne va pas trigger le .catch du fetch...

    Salut !

    Ben oui, je sais bien lire un code de réponse http
    mais essaye, fait toi un petit bout de code qui envoie 50-100 requêtes vers un serveur avec Fetch
    - j'ai oublié de préciser que c'était sur gogol Chrome,
    tu verras il y a un moment où la requête va échouer alors que les 99 autres sont passées avec les mêmes paramètres envoyés, tout, tout pareil,
    (punaise dans qques jours le code sera diffusé en Open-Source, tu pourras tester et/ou m'aider à débeuguer si tu le souhaite),
    dans mon souvenir, ça disait que ça appelait la requête dans un contexte public mais que le serveur répondait publiquement mais que ... bref, etc ...

    Je précise que je fais ces requêtes sur un serveur où il y a des en-têtes CORS, au top de la sécurité, comme indiqué dans les docs,
    mais des fois ça plante (note: en même temps je surveille les coupures de réseau), donc ... recherches, recherches et d'autres ont le même
    problème, mais PERSONNE n'a la solution, donc ça bug ...
    et ça m'énerve car je dev. des API sans bugs ( oui je met 3 plombes mais le service client reste muet et ça m'épargne su stress )

    Pour ce qui est du typeof... je suis désole, mais c'est la 1ere ligne de la doc : developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Operators/typeof

    -> Ok mais pas sur la doc de undefined , dont j'ai demandé la modif, donc si tu prend la doc de undefined, t'en a pour des jours à comprendre ce qu'il se passe ...

    c'est normal... tu ne connais pas le vanilla sur le bout des doigts ...

    -> heu.. quand même ... j'ai dev. des trucs entiers en NODE, je pourrais probablement jamais tout cerner du langage,
    mais j'en ai bouffé des tonnes et des variées ( les API * ) et j'en bouffe encore chaque jours ...,

    -> Je ne crache pas sur le "vanillia", je dis que pour l'instant JQuery est plus clair et plus rapide à développer.

    * LES API,
    tiens je l'avais oublié celle là aussi :
    "Regardez comme c'est trop cool les API JS, vous allez pouvoir faire de la vidéo-conférence !",

    alors oui, l'exemple fonctionne bien en localhost, mais tu ne peux pas encore développer une application de vidéo-conférence car derrière il te
    faut un solide serveur STUN/TURN pour gérer tout le flux entre les participants et ça j'en ai un peut marre aussi,
    quand tu passes une semaine à te régaler à faire un prog. de vidéo-conférence et qu'à la fin tu te rend compte que tu ne vas
    pouvoir l'utiliser que dans ton salon, ça gâche !

    -> Certes le langage a de belles promesses et il sert même de contrôleur au télescope James Webb (Merci la newsletter de developpez.net !)
    Mais j'attend que tout ça soit bien
    1/ compatible avec Apple (les derniers à faire chier sur le web)
    2/ Que les belles promesses réalisables par les API soient vraiment exploitables en production

    cordialement, ^_^

    p.s: je reviens sur l'en-tête "application/json" qui n'est pas reconnue par Fetch, alors que c'est fait un peut pour ça ... Quand même !

  9. #9
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 420
    Par défaut
    Citation Envoyé par Doksuri Voir le message
    @ABCIWEB
    ce n'est pas parce que tu sais conduire une voiture automatique, que tu sais conduire une manuelle... par contre, si tu sais conduire une manuelle, conduire une automatique est un jeu d'enfant.
    => ce n'est pas parce que tu sais faire du jquery que tu sais faire un JS.

    quand j'ai abandonne jquery, je me suis vraiment penche sur la doc de chaque nouvelle chose que j'aprennais en vanilla... et je me suis senti tellement "inculte du JS", je me suis meme demande si j'avais le droit de mettre "JS" sur mon CV tellement j'avais de lacunes....

    si c'est la verbosite / lisibilite qui te pose probleme, tu peux toujours te faire des "alias". par exemple
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function qs(s) { return document.querySelector(s); }
    function qsa(s) { return document.querySelectorAll(s); }
     
    const list = qsa('.maListe');

    sinon, le switch de jquery a js est comme apprendre un nouveau language... le plus long est d'apprendre les syntaxes
    Tes arguments ne tiennent pas car ils s'appliquent de la même manière pour TOUTE librairie ou framework javascript. Ce que tu dis n'est donc pas spécifique à jQuery, on devrait avoir de bonnes bases en javascript avant d'utiliser n'importe quelle librairie et il n'est pas certain que ce soit le cas de tous ceux qui utilisent les nouvelles librairies plus à la mode.

    De toutes façons, sur un développement assez conséquent, on devra à un moment ou à un autre connaître javascript quand on fait du front end. Personnellement j'ai eu le parcours inverse au tien puisque je codais en vanillla avant d'utiliser jQuery. Et je continue de l'utiliser car il me fait gagner du temps. Quant à tes "alias", sur le principe tu es juste entrain de réécrire une lib comme jQuery... donc autant se servir de l'original.

    Un exemple ici de création de filigrane wysiwyg dans le contexte d'un upload de photos. Entièrement paramétrable, compatible avec un upload multiple (avec possibilité de filigrane différent pour chaque photo), gestion de preset pour gagner en productivité, cela fait du boulot. Quelle autre librairie que jQuery aurait pu me faire gagner du temps dans le contexte de ce développement et en ayant aussi peu de dépendances ?

    Au passage, pour ceux qui utilisent Php et qui seraient intéressés, le module d'upload (qui ne se limite pas à la création de filigrane et permet entre autre de télécharger des très gros fichiers en surpassant les limites serveur) est livré prêt à l'emploi avec le traitement côté serveur. Il suffit donc de le télécharger et de le poser sur son serveur pour faire les premiers tests de fonctionnement complets.

    Après je veux bien que mon code ne soit pas un modèle (les cadors en javascript s'y seraient probablement pris autrement) mais il propose de très nombreuses fonctionnalités et il rempli son rôle. Pour dire qu'on peut utiliser jQuery tout en ayant des bases en javascript, car il y a beaucoup de vanilla si tu regardes le code source.

    A un moment je me suis posé la question du tout vanilla, mais il y a de nombreuses fonctionnalités jQuery qui demandent une ou plusieurs lignes de code en vanilla qui par ailleurs est plus verbeux. Ajouté à cela les animations et leur callback, plus le fait de vérifier si la fonction de remplacement n'est pas trop récente et implantée sur tous les navigateurs... jQuery fait tout ça pour moi, alors je suis pas maso, surtout que toutes ces lignes supplémentaires diminueraient l'intérêt de se passer de jQuery et de ses 30Ko de code gzip.

    Et puis ceux qui veulent personnaliser leur code ont par la même occasion jQuery à leur disposition et cela ne les empêche pas d'utiliser javascript. Bref j'ai très vite abandonné cette idée, sinon dans l'absolu ont pourrait aussi se passer de toutes les lib front end et ne coder qu'en pur javascript. Personnellement tout en faisant des sites responsive, je n'utilise pas Bootstrap, mais je ne rentre pas en croisade contre ceux qui l'utilise, et je ne les accuse pas non plus à priori d'être incompétents en javascript/css, même si l'on peut aussi s'en passer.

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Entre 80Ko et la tonne d'autres saletés chargées en background pour le tracking et autres outils marketing ... (voir la bande passante esquivée par le navigateur Brave ...)
    On peut très bien se passer de JQuery mais vu que la plupart du temps comme déja signalé il est déja en cache, je ne comprends pas cet engouement à vouloir absolument taper sur JQuery qui peut s'averer un gain de temps à la programmation dans certains cas ...
    Que l'on s'attaque d'abord aux scripts invisibles de tracking et autres espions marketing avant de vouloir erradiquer un outil qui peut être utile ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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