Chargements asynchrones et performances web

Chargements asynchrones et performances web (le 25/11/2011)

Ceux qui suivent mes élucubrations sur Twitter ont récemment pu constater deux choses :

  • j'adore mélanger les proverbes,
  • et je m'intéresse fortement aux chargements asynchrones via RequireJS, principalement de Jquery.

J'ai fait plusieurs essais sur divers sites, et j'en tire quelques enseignements sur deux cas bien distincts.

Mon site personnel est plutôt bien optimisé point de vue performances et plutôt léger :

  • une petite dizaine de requêtes tout au plus pour la page d'accueil,
  • la CSS est chargée dans le head, quand à Jquery, le fichier est chargé en bas de page.

Je constate qu'utiliser un chargement asynchrone dans mon cas n'apporte que peu ou pas de bénéfice en vitesse de chargement : cette dernière est même ralentie, et ce quel que soit le navigateur.

Autrement dit : ne perdez pas de temps à déployer des chargements asynchrones sur des sites de ce genre, il n'y a aucun bénéfice à en tirer. Travaillez plutôt les performances avec les conseils de bases (mais toujours très valables, cet exemple en est la preuve) des trois articles d'Openweb que j'ai écrits.

Si vous doutiez du bien fondé des conseils de bases d'Introduction à la performance web, vous avez la preuve que les respecter scrupuleusement vous évite dans certains cas d'aller chercher des solutions plus compliquées.

Par contre, j'ai mené des essais sur des sites plus conséquents : plus de requêtes, Jquery et des plugins plus lourds comme Jquery UI ainsi que des pages beaucoup plus complexes.

Là, les résultats sont nettement plus tranchés : les chargements asynchrones font gagner entre une à deux secondes sans rien changer d'autre que la méthode de chargement des fichiers Javascript !

Par contre, si votre site utilise des propriétés Jquery en ligne dans votre code, du fait du chargement asynchrone, cela risque fortement de faire planter vos scripts, il faut traiter ces cas avec beaucoup d'attention. Je me retrouve également confronté au problème sur un site d'une certaine complexité, je travaille à le résoudre d'ailleurs, et je publierai dès que possible des pistes de solutions ici même.

Permalien :

Flux RSS des commentaires de ce billet : https://www.nicolas-hoffmann.net/rss/commentaires.php?id_news=1431


Aucun commentaire pour le moment.

Ajouter un commentaire









L'option « Se souvenir de mes informations » utilise un cookie, elle ne sera pas effective si vous les avez désactivés.

Les balises HTML ne seront pas interprétées, il est donc inutile d'en mettre. Par contre, les sauts de lignes de votre commentaire seront pris en compte, ne mettez donc pas de <br />, le site s'en chargera. Bien sûr, un commentaire vide ne sera pas ajouté !

L'auteur (autrement dit moi) n'est pas responsable des éventuelles fautes d'orthographe dans les commentaires.
Tout propos raciste et/ou insultant sera supprimé sans préavis. Les commentaires hors de propos destinés à faire de la pub pour des sites seront également supprimés sans ménagement.

Je vous prie de me pardonner, j'ai énormément de mal à lire le "langage" SMS, il n'est donc pas du tout interdit de s'abstenir de l'utiliser. Qui plus est, vous avez sûrement un clavier digne de ce nom et pas celui d'un téléphone portable. Ne vous gênez pas pour utiliser l'option "Prévisualiser" si vous voulez vous relire avant de poster, je vous en remercie d'avance !

Cet article a été écrit par Nicolas Hoffmann.

Ce site est la propriété de Nicolas Hoffmann.
Tous droits réservés, les textes du blog sont publiés sous licence CC BY-NC-SA.