Les mobiles ont longtemps été une cible très spécifique à base de WAP. C’est maintenant révolu et on a de réels navigateurs complets avec javascript et CSS. Que peut-on faire de spécifique pour le Web mobile ?
C’est Jason Grigsby de cloudfour qui vient de donner une présentation « Going fast on the mobile web« .
Les règles de base et les spécificités
En gros peu de surprises, les règles de base sont celles de Yahoo! et devraient être bien connues dans un contexte de faible bande passante : pas de cookie, minimisation, compression, cache agressif, moins de requêtes HTTP, etc. On voit deux spécificités : la mémoire et le processeur. On a donc quelques contraintes de plus :
- Limiter l’utilisation de la mémoire : Cela veut dire penser aussi à la taille HTML/CSS/JS une fois le code décompressé sans gzip, et penser à la taille des images une fois décompressées en bitmap. Pour l’iphone la limite c’est 25ko par exemple, sinon on ne passe pas dans le cache.
- Limiter l’utilisation du processeur : Cela veut dire entre autres avoir un HTML le plus simple possible, sans erreur à faire corriger par le navigateur, et si possible sans tableaux car ils sont très consommateurs.
Là où par contre je reste dubitatif c’est sur la recommandation d’utiliser json plutot que xml. Comme on l’a vu ce n’est pas si évident et ça doit être plus contestable vu les faibles ressources de ces systèmes. Malheureusement aucune raison ou explication n’est avancée sur la présentation.
Connexions concurrentes
Pages 37 et 38 de la présentation on a un tableau intéressant à propos des navigateurs mobiles. Ils ont testé le fonctionnement de gzip, du cache, et le nombre de requêtes simultanées.
Pour gzip et le cache, dans l’ensemble le support est bon, même si à chaque fois il y a un ou deux navigateurs courants qui posent problèmes. Le navigateur Blackberry n’est par exemple pas très efficace.
Mis à part Opera Mobile 8.x, ils peuvent quasiment tous télécharger plus de deux fichiers simultanément sur le même domaine .C’est étonnant de voir combien de temps la limite de 2 requêtes par domaine a tenu sur les navigateurs de bureau alors qu’elle a déjà disparue sur les équivalent mobile, là où ça a le plus de sens à cause de la faible bande passante et des faibles ressources système.
Par contre beaucoup sont fortement limités aux nombre de requêtes simultanées tous domaines confondus (IE mobile est limité à 3, Blackberry est limité à 4, etc.). Entre ces limitations sur le nombre de connexions total et le fait que plus de deux connexions par domaine sont déjà autorisées, l’utilisation de plus de deux domaines séparés pour les fichiers est probablement inutile dans la plupart des cas.