les performances web mobile

32
La performance sur mobiles Jean-pierre VINCENT

Upload: jean-pierre-vincent

Post on 02-Jul-2015

943 views

Category:

Technology


0 download

DESCRIPTION

Slides support de la conférence sur les performances Web sur mobile, donnée pendant les ateliers Paris Web 2012

TRANSCRIPT

Page 1: Les performances Web mobile

La performance sur mobiles

Jean-pierre VINCENT

Page 2: Les performances Web mobile

Qui ça ?Jean-pierre VINCENT

braincracking.org@theystolemynick

12 ans de WebConsultant, formateur, auteur

Page 3: Les performances Web mobile

Importance ?

● 32 millions de forfaits data● +80% de volume● 10% du trafic sur sites standards

Page 4: Les performances Web mobile

Usage ?

● Maison, travail, déplacement, magasin...● Mails, recherche, réseau social...● Infos produits, chercher un endroit, voyages, news

http://services.google.com/fh/files/blogs/our_mobile_planet_france_fr.pdf

Page 5: Les performances Web mobile

Exigences

● 1S = -10% de pages vues

● 60% attendent 4s max

● les sites se chargent en 12s

http://www.themediabriefing.com/article/2012-10-02/speed-is-a-feature-why-a-slow-mobile-web-experience-means-lost-revenue http://www.strangeloopnetworks.com/resources/infographics/2012-state-of-mobile-ecommerce-performance/poster/

Page 6: Les performances Web mobile

Débits théoriques

Page 7: Les performances Web mobile

Vraie moyenne

+ 25% de perte ?

Page 8: Les performances Web mobile

Quelle différence ?

http://bit.ly/S2ZYll

Page 9: Les performances Web mobile

La volatilité

Page 10: Les performances Web mobile

Objectifs● Affichage rapide :• News• Comparateurs• Voyage• Vidéo

● Interface fluide• Applications• Formulaires• Recherches

Page 11: Les performances Web mobile

Comment tester✗ Émulateurs• Connexion sans faille• Charger une page : 50% plus rapide• Exécution JS : 90% plus rapide

Page 12: Les performances Web mobile

Comment testerMobile perf bookmarklet

http://stevesouders.com/mobileperf/mobileperfbkm.php

Page 13: Les performances Web mobile

Comment tester

Wifi => tcpdump => .pcap => .har => HAR viewerhttp://code.google.com/p/pcaphar/wiki/CaptureMobileTraffics

Page 14: Les performances Web mobile

Comment tester

http://webpagetest.org/

Page 15: Les performances Web mobile

Comment testerWifi sur mobile+

● Proxy Charles● Trickle (Linux)● Network Link Conditioner (OSX 10.6)● Slowy app (OSX 10.5)

Page 16: Les performances Web mobile

Comment debug

● Stoyan Icy

● Chrome iOS

● SocketBug

Page 17: Les performances Web mobile

Comment debug● Opera Dragonfly● Firefox Remote Debugger● Chrome Remote Debugging

● IOS 6 : enfin natif

Page 18: Les performances Web mobile

Charger

Page 19: Les performances Web mobile

Théorie 1/2● Réduire le nombre de requêtes● Gérer le cache navigateur● Gzip● Scripts en bas de page● JS et CSS dans des fichiers externes● Moins de domaines par page● Minifier● Pas de redirection

http://developer.yahoo.com/performance/rules.html

Page 20: Les performances Web mobile

Théorie 2/2● Preload / postload components● Reduce DOM size● Domain sharding● Reduce cookie size● Optimize images● CSS Sprites

http://developer.yahoo.com/performance/rules.html

Page 21: Les performances Web mobile

http://bit.ly/Tcqxt8

Page 22: Les performances Web mobile

DépartDépart :

● Start render : 5s● Render article : 7s

http://www.webpagetest.org/video/compare.php?tests=121019_CG_b761ca40c0644ff4b15f96c1b90fe712-r:1-c:0

Page 23: Les performances Web mobile

À vous

Page 24: Les performances Web mobile

TODO

● Concaténer CS● (pas de police)● (pas de redirection)● Tester sans JS

Page 25: Les performances Web mobile

TODO

http://www.webpagetest.org/result/121031_ef8a9887f8a90150e8a50873c574d48f/

Page 26: Les performances Web mobile

TODOTravail sur le JavaScript

● Concaténer par modules● Nuke document.write()● Exécution asynchrone● Chargement et exécution au scroll• Pubs invisibles• Widgets

https://github.com/jpvincent/LazyLoadLight - https://github.com/jpvincent/onAreaVisible

Page 27: Les performances Web mobile

Gérer le cache

● La base :• Gestion fine des URL• Headers correctement mis

● Aller plus loin :• Détourner localStorage• Utiliser appCache Manifest

Page 28: Les performances Web mobile

Moins de requêtesLa base

● Sprites● Icônes unicode

Aller plus loin ● Inline JS/CSS● WebSocket● Sacrifice de fonctionnalités

● CSS3● Base64

● SPDY, HTTP2

Page 29: Les performances Web mobile

Le poidsLa base

● Gzip, minify● Compression des images● Lazy load

Aller plus loin ● Se passer des grosses librairies● HMTL5 History

Page 30: Les performances Web mobile

Se méfier

● Domain sharding : fini● Scripts en bas de page : inutile● Tout inline ou tout external ?● CDN : insignifiant● Render côté client

Page 31: Les performances Web mobile

Responsive Web DesignCritiqué :

● Trop de choses chargées● Difficile à maintenir

Site dédié mobile :● Permet de se lâcher● Contenu minimal approprié à l'usage● Seule le V de MVC est à refaire

Page 32: Les performances Web mobile

ConclusionLes techniques classiques :

● Marchent globalement bien● Peuvent être dangereuses● Ne vont pas encore assez loin

Débat ?