Optimiser les applications Web 2.0 (avec DOLOTO / AJAX)
Pour qu’une application web fonctionne vite et bien, l’architecture et l’optimisation de la plate forme technique est important mais il faut que le code soit également optimisé (en fait les deux doivent l’être absolument, parfois même de manière dépendante).
En regardant la taille des fichiers nécessaires aux applications actuelles on comprend pourquoi elles sont parfois ‘longues au démarrage’ :
L’optimisation de ces temps de chargement a été étudié par Benjamin Livshits et Emre Kiciman du département Recherche de Microsoft. Ils viennent de publier un papier intéressant. Il s’agit de “Code Splitting for Network Bound Web 2.0 Applications“.
Comment cela fonctionne, les gains, les outils de Yahoo pour améliorer les temps en chargement…
Il s’agit en fait de méthodes permettant d’optimiser les temps de chargement des codes JavaScript pour les grosses applications Web 2.0. Le but est de minimiser le délais d’attente pour les utilisateurs finaux qui consultent le site.
L’application analyse tout d’abord le trafic grâce à une sorte de sonde :
Ensuite l’idée principale est assez simple, mais potentiellement très performante. Il s’agit de regarder les fonctions appelés dès le départ, par rapport aux fonctions qui seront appelées que par la suite de la navigation. En déplaçant les fonctions qui ne sont pas nécessairement utiles il est possible de réduire la taille des fichiers au lancement de l’application.
Ce sont des techniques assez connues, mais il est toujours bon de les appliquer sur ce type de développement web. Car au final l’application est beaucoup plus réactive (les autres fonctions sont chargés, tranquillement, pendant que l’utilisateur consulte la/les premiers écrans de son application)
Ce document (Doloto) démontre donc qu’il est possible d’accélérer les applications actuelles, comme GMail de 20 à 40%. Tout cela juste en splittant le code et en organisant correctement les différents téléchargements.
A l’heure ou les applications Web commencent à entrer en compétition directe avec les applications Desktop ces types d’optimisations vont devenir incontournables.
Pour rester dans le sujet, il y a aussi les travaux de Yahoo avec YSlow et ses pages dédiées à l’amélioration de la vitesse de chargement des pages : developer.yahoo.com/performance/
Son composant (plug’in YSlow) pour FireBug est de ce point de vue un excellent outil pour améliorer les performances de chargement de ses pages :




Abonnement RSS