Logo_jQuery

jQuery 89, quelques nouvelles

Print Friendly and PDF
flattr this!

Salut à tous, désolé pour la flemme d'hier. Ça va bientôt faire deux ans, c'est devenu une habitude mais c'est pas pour autant que c'est toujours facile à faire.

L'annonce de jQuery UI 1.8.24 a été faite par Scott González.

Dans cette version de maintenance, des bogues ont été corrigés pour Datepicker, Draggable, Droppable et Sortable. Au passage, le support de jQuery core 1.8.2. Ils ont bon espoir de sortir la 1.9 asap. Voilà le changelog complet si ça vous intéresse.

Vous le savez, même si j'apprécie énormément le développement avec jQuery, celui-ci doit se faire avec raison. Encore faut-il que ce soit à raison. Ce JSPerf montre bien ici par exemple l'intérêt de travailler avec du code natif quand jQuery n'est pas absolument nécessaire.

Et c'est tout pour cette semaine. Désolé mais la semaine a été plutôt légère. Merci à tous de toujours être autant à me lire.

A propos de Mathieu

Ingénieur développeur web dans la vente par correspondance B2B, adepte de nouvelles technologies et d'innovation. Vous pouvez aussi me retrouver sur Twitter @mathrobin
Cette entrée a été publiée dans jQuery, avec comme mot(s)-clef(s) , , , , . Vous pouvez la mettre en favoris avec ce permalien.

16 réponses à jQuery 89, quelques nouvelles

  1. Xavier dit :

    Bonjour Mathieu,

    Même si le post est cours, c’est toujours un plaisir de te lire et d’être au courant des news.

    Cordialement,
    Xavier.

  2. DamsFX dit :

    Mathieu,

    C’est pas qu’on te donnerais pas la main … mais notre place de lecteur est trop confortable !!
    Merci pour la veille que tu fait sur jQuery.

    Dam’s

    • Mathieu dit :

      Merci à toi ! En fait le plus dur dans l’affaire est surtout de se coltiner les dizaines de flux rss dans différentes langues. Vous n’imaginez pas le nombre de choses débiles que je vois passer. Tiens, faudrait que je fasse des billets sur le sujet à l’occasion. Histoire de changer un peu :)

  3. syndrael dit :

    Pfff.. maintenant on ne va plus chercher des expert jQuery mais des experts en désossage de code jQuery pour l’optimiser.. Enfin, d’un autre côté est-ce que ça gène vraiment la navigation cette non-optimisation ?
    S.

    • Mathieu dit :

      Oui la question des performances est importante, elle est meme clé et y compris dans des domaines dans lesquels on ne s’y attend pas comme l’écologie. Je vais surement faire un article sur le sujet, ta question nécessite une réponse publique je pense.

  4. N-D dit :

    Hmm
    http://jsperf.com/jquery-this-caching/8
    Je sais pas ce que ça vaut tho :) .

    • Mathieu dit :

      Il y a un défaut d’optimisation dans ton cas natif. A chaque itération de la boucle, la borne de sortie est recalculée. Niveau perfo, c’est une bonne façon de tout plomber.

      • N-D dit :

        Pas compris ?

        • Mathieu dit :

          Le truc c’est qu’il faut comparer des scripts optimisés d’un côté comme de l’autre. Dans ton exemple, le script JS natif n’est pas optimisé. Tu re-déclares la variable elements à chaque tour. Après dans ta déclaration de boucle, dans la condition d’arrêt, tu fais ça :
          (elements = document.getElementsByClassName(« myElement »)).length
          Sauf que ce calcul est effectué à chaque itération de la boucle, il faut le mettre en cache avant de commencer ta boucle.

        • N-D dit :

          Même si les chiffres approuvent, j’ai toujours appris que

          `for (a; b; c)` où a : partie statique évaluée une unique fois, b, comparaison pour savoir si on continue d’itérer et c l’instruction à effectuer à la fin de chaque itération ?

          • Mathieu dit :

            Pour être exact :

            • a est évalué au démarrage de l’instruction for et plus après ;
            • b est évalué à chaque itération de boucle, d’où l’importance de le mettre en cache avant l’instruction for, pour ne pas avoir à refaire un calcul inutile à chaque tour ;
            • c est effectivement la méthode exécutée à chaque itération.

            Cette spécificité de b n’est pas vraie dans tous les langages mais vraie en JS (https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Statements/for, partie Parameters > condition)

          • N-D dit :

            Hors, dans ma boucle :
            `var elements, i = 0, l = (elements = document.getElementsByClassName(« myElement »)).length; i < l; i += 1`
            La partie a est : `var elements, i = 0, l = (elements = document.getElementsByClassName("myElement")).length`
            La partie b est `i < l`
            Et la partie c est : `i += 1` non ?

            Je viens de tester (version 10) et j'ai les mêmes résultats en mettant un cache avant.

          • Mathieu dit :

            Juste pour te tenir au jus : j’ai pas le temps aujourd’hui mais je regarde asap les détails.

          • Mathieu dit :

            Désolé, du coup, j’ai oublié. Je regarde ça dans le weekend

  5. N-D dit :

    Pas de problèmes ;) .

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Articles liés