2. #2
Mehr Conversions (Sales, Downloads …)
Was ist das eigentlich?
Ladezeitoptimierung
Ladezeit = Performance
» Performance beschreibt in der IT das Leistungsverhalten
von Soft- und Hardware
» Performance beschreibt im Management die Erreichung
eines vorgegebenen Ziels
» Performance beschreibt in der IT das Leistungsverhalten
von Soft- und Hardware
» Performance beschreibt im Management die Erreichung
eines vorgegebenen Ziels
Mehr Conversions (Sales, Downloads …)
4. #4
Aufmerksamkeitsspanne – Jakob Nielsen (1993)
EINFLUSS HOHER LADEZEITEN AUF DEN NUTZER
Bis 1 Sekunde:
» Ladevorgang ist
gefühlt flüssig
Ab 1 Sekunde:
» Ladeverzögerung ist
merklich
» Seite wirkt träge
» Gedanken schweifen ab
Ab 10 Sekunden:
» Nutzer benötigt
visuell klares
Feedback
» Verlust der
Aufmerksamkeit
5. #5
Aufmerksamkeitsspanne – Microsoft Studie 2015
EINFLUSS HOHER LADEZEITEN AUF DEN NUTZER
Erkenntnisse:
» Sinkende kontinuierliche
Aufmerksamkeit
» Verbesserte selektive
Aufmerksamkeit
» Menschen sind ungeduldiger
» Und erwarten ein sofortiges
Ergebnis
Quelle: https://de.scribd.com/document/265348695/Microsoft-Attention-Spans-Research-Report
6. #6
Aufmerksamkeitsspanne – Jakob Nielsen (1993)
EINFLUSS HOHER LADEZEITEN AUF DEN NUTZER
Bis 1 Sekunde:
» Ladevorgang ist
gefühlt flüssig
Ab 1 Sekunde:
» Ladeverzögerung ist
merklich
» Seite wirkt träge
» Gedanken schweifen ab
Ab 10 Sekunden:
Ab ~4 Sekunden:
» Nutzer benötigt
visuell klares
Feedback
» Verlust der
Aufmerksamkeit
10. #10
Was kann optimiert werden?
HERAUSFORDERUNGEN
Quelle: https://developers.google.com/speed/docs/insights/mobile
11. #11
Verlässliche mobile Daten ohne Simulation
HERAUSFORDERUNGEN
Setup nach USB-Verbindung:
» Android Studio installieren
» Entwicklereinstellungen am
Smartphone
-> Enable USB Debugging
» „chrome://inspect/#devices“
» Öffnen der Chrome Console
-> Show Remote Devices
» Auswählen des Tabs
26. #26
Ablauf im Browser bis zur Darstellung auf dem Monitor
PERCEIVED PAGESPEED
DOM
Render
Tree
JS
CSSOM
Layout Paint
27. #27
Eliminieren von Reflows – betrifft Layout und Paint
PERCEIVED PAGESPEED
DOM
Render
Tree
JS
» Ändern geometrischer
Angaben der DOM Nodes
CSSOM
» Position von DOM Nodes
muss neu berechnet weden
Layout PaintPaintLayout
28. #28
Paint
Eliminieren von Repaints – betrifft nur Paint
PERCEIVED PAGESPEED
DOM
Render
Tree
PaintLayout
JS
» Änderung Hintergrundfarbe
» Schatten/Font
CSSOM
» Aussehen muss neu
berechnet werden
29. #29
Verschlanken des Critical Rendering Path
PERCEIVED PAGESPEED
HEADER-NAVIGATION
STAGE
HEADLINES
INCENTIVES
Page Content
Above The Fold
„Viewport“
Below The Fold
„Non-Viewport“
ToDos:
» Reduktion der
DOM Nodes
» Flache Hierarchie
im DOM
» Splitten großer
CSS & JS Skripte
in Critical & Non-
Critical
» Vermeiden von für
den Render-Tree
unnötigem HTML
30. #30
Server Side Rendering
JAVASCRIPT
CDN Server
» SSR vordefinierter
Module
» HTML bzw. DOM
auf CDN cachen
» Ausführen weiterer JavaScripte
» AJAX & history.Pushstate()
31. #31
Optimieren der Ausführungslogik
JAVASCRIPT
Single Thread: window.requestAnimationFrame()
Multi Thread: Web Worker
» Aufsplitten oft sehr
schwer
» Höhere
Ausführungszeit
» Worker kein Zutriff
auf DOM API
» Setup des
Workers
Contra: