Malgré le rappel de Douglas Crockford sur le fait que le code javascript lui-même représente au mieux 15% des performances de la page, il est parfois utile d’y jeter un oeil. Nicholas Zakas, de Yahoo!, propose un bon aperçu pour ceux que ça intéresse dans sa présentation « Writing Efficient javascript » aux conférences Velocity 2009. Variables […]
Archives de l’étiquette : javascript
Préchargement des images CSS avec Jquery
Dans le préchargement l’idée est de faire travailler le navigateur avant que l’utilisateur ne demande les documents pour que ce soit quasiment instantané ensuite. On attend la fin de chargement de la page, et on lance par avance le téléchargement de plusieurs liens dont on pense qu’ils serviront plus tard. C’est très intéressant pour quelques […]
Lenteur du DOM
De nombreux sites dits « web 2,0 » utilisent javascript à outrance. Leur performance tient généralement à la bonne ou la mauvaise utilisation de javascript. Aujourd’hui nous pouvons parler du DOM, et l’accès au DOM est lent : évitez le.
Cache central des bibliothèques javascript
On m’a posé quelques fois la question alors voici la réponse : Oui. Oui il faut, quand vous le pouvez, utiliser les liens centralisés de Google ou de Yahoo pour vos bibliothèques javascript. Je parle de ne pas recopier jquery ou yui directement sur vos serveurs, mais d’utiliser les liens centralisés proposés par les deux […]
Plugin wordpress et outils automatiques
Parler de la performance web c’est d’abord convaincre que c’est important, puis rappeler qu’il y a quelques actions très simples à mettre en oeuvre qui ont un effet immédiat. En général je parle du cache sur les ressources statiques, et de la compression des contenus.
Aperçu de Yslow 2.0
J’avais déjà présenté Yslow, et de toutes façons tous ceux qui lisent ce blog doivent maintenant connaître cet outil indispensable. Stoyan Stefanov, de l’équipe performande de Yahoo!, a fait en chine la première présentation sur ce qui arrive avec la version 2.0 de Yslow. Pour tout vous dire j’avais le secret espoir que l’annonce de […]
Quel avenir ?
Vouloir optimiser le code et régler les performances, est-ce un sujet qui sera obsolète bientôt ? La question peut-être posée autrement : n’est-on pas en train de compenser les défauts des navigateurs dans quelques millions de sites avec des résultats discutables au lieu de fixer les quelques navigateurs ? Sus au navigateur ! Ma première […]
Questions de rendu
Ce lien on me l’a donné plus d’une douzaine de fois, et c’est vrai que c’est intéressant. Je regrette même de ne pas avoir eu une intervention similaire pour Paris Web 2008. De quoi je parle ? de l’intervention de David Baron aux Tech Talks de Google le 18 novembre dernier. David Baron c’est un […]
Éviter les événements trop fréquents
Les bons développeurs javascript utilisent les événements, à toutes les sauces. En fait quasiment tout ce qui est fait en javascript est en réaction à un événement. On arrive à deux problématiques qui ont un un impact plus ou moins important sur les performances :
Erreurs de syntaxe
J’ai beaucoup parlé de CSS, de réseau, de javascript, et j’entend parfois dire que le HTML lui n’a aucune importance. Ce n’est malheureusement pas vrai. Il y a au moins trois points à regarder dans le HTML : la qualité syntaxique du code, le mode de rendu des tableaux, et le nombre de noeuds DOM. […]
Concaténation de chaînes de caractères en javascript
Dans la plupart des langages, les chaînes de caractères ne sont pas modifiables. Ajouter un caractère à une chaîne existante c’est créer un nouvel objet avec la chaîne résultante. Parfois comme dans ruby ce n’est pas visible pour l’utilisateur mais c’est bien ce qui est fait en interne. pour éviter que de multiples concaténations ne […]
Styles avec et sans Javascript
Charger le javascript le plus tard possible, ou au moins de manière asynchrone, implique que le visiteur risque de voir la page avant l’exécution du dit javascript. Si le javascript enrichit ou modifie la page, le visiteur aura la désagréable surprise de voir la page se modifier sous ses yeux. Dans un des premiers billets je […]
Javascript en ligne
Je fais suite au précédent billet sur la présentation de Steve Souders aux conférences Velocity 2008. Tout à la fin il nous donne une seconde information sur le javascript inline, et ceci est une nouveauté pour moi. La situation de base : Firefox bloque tous les nouveaux téléchargements quand il récupère une feuille de style. […]
Javascript non bloquant
Je vous l’avais dit, une balise <script> bloque le rendu et les nouveaux téléchargements dans le navigateur le temps que le javascript soit complètement téléchargé et exécuté. Une des solutions c’est de reléguer cette balise à la fin du document. Il y a des fois où ce n’est pas idéal et c’est Steve Souders qui […]
Attention aux compresseurs javascript
En avril je vous parlais du packer de Dean Edwards qui permet de miniser le code javascript avant envoi. J’émettais un doute sur l’option base62. Avec cette option le code javascript est codé avant envoi. Une fois ce javascript reçu, le navigateur va le décoder, puis utiliser eval() pour l’exécuter. C’est tout sauf transparent pour […]
DOM et autres innerHTML
Un petit peu de Javascript ? C’est Peter-Paul Koch aussi dit PPK qui lance la question sur Quicksmode il y a trois mois. Il tente de comparer diverses méthodes pour ajouter du contenu à une page, et plus spécifiquement innerHTML et les fonctions DOM (par DOM j’entend appendChild, createElement et associés).
SquirrelFish dans WebKit
On en parlait il y a peu mais ça vaut le coup de faire un petit billet dédié : L’équipe de WebKit vient d’annoncer l’intégration de SquirrelFish. SquirrelFish c’est une réécriture de Javascript Core, leur moteur Javascript.
Portée des variables Javascript
Après CSS, faisons un petit passage par Javascript. C’est Yoan qui m’a fait passé un lien intéressant d’Ariel Flesler. La portée des variables javascript La portée des variables Javascript trompe souvent le développeur débutant. Les variables variables fonctionnent par bloc de code. Pour faire court un bloc c’est ce qui est délimité par des accolades […]
Un mode « fast » ?
C’est peut être ce qui résoudrait quelques problèmes de performances : une option « fast » en javascript. Cela permettrait de déclarer qu’on n’utilise pas de document.write et ne plus bloquer le rendu du navigateur. On pourrait aussi déclarer ne pas toucher aux prototypes des objets de base pour bénéficier de meilleures optimisations de l’interpréteur. Si les moteurs […]
JSON ?
JSON ! c’est le cri de tous les développeurs web à la mode dès qu’ils entendent parler d’échanges de données. Ce format est sensé être plus performant, plus simple, plus standard, plus performant, plus web 2.0 quoi. Plusieurs points mériteraient un billet à part entière, et je suis en désaccord sur chacun d’eux, mais je […]
Pages d’erreur
Rappelez-vous : cool URIs don’t change (les URIs sympa ne changent pas), et mieux, autant que possible elle ne disparaissent pas non plus. Reste que beaucoup d’éditeurs ne tiennent pas compte de cette recommandation, et que les développeurs ne peuvent s’abstenir de faire des erreurs quand ils font des liens. Ces pages d’erreurs donnent une piètre […]
Minimiser le javascript
Pour diminuer la taille des téléchargements on utilise la compression et la minimisation. La minimisation c’est l’art d’enlever tout ce qui est inutile dans un fichier : espaces blancs, commentaires, et éventuellement noms de variables longs.
Attendre le javascript
Hier j’ai tenté de convaincre de mettre les codes javascript à la fin du document. Et là, d’ordinaire, chacun trouve une raison pour ne pas suivre le conseil. Des fois de très bonnes raison, souvent des contestables. Pourquoi pas ?
Javascript à sa place
Chaque fois que je parle de reléguer les codes javascript en fin de page, je vois une moue sur le visage de mon interlocuteur. Mettre le javascript dans le <body> du document, et encore plus à la fin de celui-ci, et souvent préjugé comme une pratique « sale ». Laissez moi vous convaincre du contraire.