Voilà jQuery 1.2 est disponible:
http://docs.jquery.com/Release:jQuery_1.2

Dans les documents, voilà un article très intéressant qui répond à mes questions sur la compression Javascript:
http://www.julienlecomte.net/(…)gzip-your-minified-javascript-files/

Il existe des “Packers” qui encodent le code Javascript… On se retrouve alors avec du code qui commence par un eval(…)
C’est alléchant au premier abord car on peut passer d’un script de 100K à 30K.
Le temps de chargement est alors moins long.
Mais le désavantage est que le code encodé doit être décodé! Ce qui prend aussi du temps.
Il faut donc savoir dans quel cas on gagne vraiment du temps.

Un autre argument à prendre en considération est le cache du navigateur.
La plupart des internautes utilisent le cache: par exemple, les images ne sont chargées qu’une fois à la première visite.
Quand on revient sur le site, l’image est déjà prête dans l’ordinateur de l’internaute et donc la page apparait plus vite.

C’est le même mécanisme pour les scripts Javascript.
Un code de 100K sera chargé une seule fois et ne nécessitera pas d’être décodé.
Alors qu’un code compressé de 30K sera aussi chargé une seule fois… mais devra être décodé chaque fois!

Et maintenant, on ajoute le dernier ingrédient: la compression du navigateur.
Pour réduire le trafic sur internet et accélérer les échanges, la plupart des navigateurs demandent aux serveurs web de … compresser les réponses!
On peut donc compresser (gzip ou deflate) les 100K de Javascript et le navigateur le décompressera de manière transparente.
Comme le navigateur utilise du code compilé et non une machine virtuelle Javascript, le temps d’exécution est plus rapide.

Au final, on a donc une seule décompression et un code plus compact sur le réseau.

Bien sûr, on peut aussi encoder le Javascript et le compresser pour le navigateur!
Mais le résultat surprenant est que un code encodé se compresse … mal, parce que déjà compressé…

Tags: , , , , , , ,
Leave a Reply