Archive pour août 2008

Concaténation de chaînes de caractères en javascript

Lundi 11 août 2008

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 posent des problèmes de performance, on a souvent à disposition un objet spécifique StringBuffer dédié à cet usage. Ce n’est malheureusement pas le cas en javascript et on voit passer de nombreuses recommandations de micro-optimisation pour compenser.

Tom Trenka a voulu faire le point en juin. Il a comparé différentes méthodes pour concaténer des chaînes de caractères et l’implémentation StringBuffer de Dojo. L’analyse est assez poussée et remet quelques préjugés courants sur le tapis. (Lire la suite…)

Styles avec et sans Javascript

Vendredi 8 août 2008

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 vous proposais d’ajouter une classe js à la balise <body>. L’idée est de différencier dès le début du rendu si la page est destinée à un affichage avec ou sans javascript. (Lire la suite…)

Javascript en ligne

Mercredi 6 août 2008

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. Une fois n’est pas coutume c’est Internet Explorer qui est le plus efficace, car il permet de paralléliser tous ces téléchargements.

Enfin presque. (Lire la suite…)

Javascript non bloquant

Lundi 4 août 2008

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 étudie les solutions dans sa présentation aux conférences Velocity 2008. (Lire la suite…)

Où vous situez-vous ?

Vendredi 1 août 2008

Et vous, où en êtes-vous ?

Rob Larsen a récupéré une liste de 200 sites américains et a fait fonctionner yslow sur chacun d’eux en janvier dernier. Les résultats c’est 5 A, 6 B, 14 C and 31 D et le reste en F.

Attention à ne pas en tirer des conclusions trop hative sur l’importance ou non de s’intéresser aux performances. Par contre ce que j’en sors c’est que l’évangélisation et la documentation des bonnes pratiques sur ce sujet ont encore de beaux jours devant elles. La conclusion de Rob est par contre certainement la bonne : le perdant c’est l’utilisateur.

Et vous, vous en êtes où ? Sortir du F ne demande pas un investissement énorme et pourra apporter un bol d’air frais à votre site.