Das Thema Website-Performance beschäftigt uns seit Anbeginn des Webs. Die Websites sind grösser, bildlastiger und komplexer geworden, auf der anderen Seite sind die Bandbreiten gestiegen und die Geräte leistungsfähiger geworden, mobile Endgeräte mit ganz eigenen Anforderungen kamen hinzu.
Wir werfen einen Blick auf die Situation heute. Welche der alten Tricks bringen noch was, worauf kann man mittlerweile getrost verzichten? Alles unter besonderer Berücksichtigung der infrastrukturellen Rahmenbedingungen und Eingedenk der Tatsache, dass Websites heute nicht mehr von Hand gebaut werden, sondern zumeist aus einem CMS kommen.
11. GIF: gut für Grafiken mit wenigen Farben
PNG: Das „bessere“ GIF, komprimiert verlustfrei, kann
Transparenz.Achtung: Kann dadurch sehr gross werden
JPEG: Optimal für Biilder, lässt sich gut komprimieren. Sollte
progressive sein.
TIFF: Hat imWeb nichts verloren. Sicher, daß es im CMS
nicht doch benutzt wird?
BMP: Dito
SVG:Vectorgrafikformat, daß im Browser darstellbar ist,
sehr gut für Logos etc.
1. Bildformate
15. 2. Bildgrössen
2. Bilder sollen
natürlich vom CMS
automatisch skalliert
und komprimiert
werden.
Falls das CMS das nicht (gutgenug) kann:
www.imgemagick.org
17. Gewünschter Workflow:
Der Redakteur lädt das Bild im Originalformat in der
Originalauflösung hoch, den Rest erledigt das System
automatisch.
Achtung: Ritch-Text-Editor!
2. Bildgrössen
25. 3. Metadaten
35 kb
Mit Metadaten Ohne Metadaten
14 kb
http://exif.regex.info
Bei allen Bildern oder evtl. nurThumbnails alles ausser
IPTC rausnehmen.
Achtung: Evtl. rechtliche Implikationen
30. Expire Dates im Server setzen, damit
die Dateien im Browser gecached
werden:
Bilder: lange
HTML, Javascript und CSS: kürzer
Ausnahmen für Analytics etc.
Achtung:Wird vom CDN überschrieben
1. Locales Caching
35. Optimalerweise den sichtbaren
Bereich zuerst, den Rest lazy loading
Text vor Bildern
Skripte am Ende der Seite laden
(Geht nicht mit allen, manche müssen/sollen
im Head stehen.
Browserdetection, JQuery, Analytics)
Hier muss man immer Kompromisse machen
ACHTUNG:Themenbühne
III. Ladereihenfolge
39. CSS und Javascript zusammenlegen
wo immer möglich und sinnvoll
Bilder auf (mehrere) Subdomain
auslagern. Request Limit gillt pro
(Sub)Domain.
Fremden Code evtl. von extern laden
(Bootstrap, Fonts, JQuery etc.)
Auslagern von CSS und JS eher nicht sinnvoll, da gecached
Achtung: CMS
Achtung: CDN
Achtung: HTTP/2
IV. Anzahl HTTP
Requests
42. Performancegewinn hängt von der
Größe der JS und CSS ab
Nur sinnvoll, wenn automatisiert
möglich (Less, Sass)
Lesbarkeit geht verloren und
Deployment Prozess wird komplexer
Genau prüfen, ob im konkreten Fall wirklich sinnvoll
V. Javascript und CSS
minifizieren
43. VI. DNS Lookups
reduzieren
Weiterleitung von http auf https plus Site Root in einem
Schritt machen.
DNS Lookup aus anderen Ländern hängt von der CDN
Performance ab.
44. Gzip auf dem Server benutzen
AJAX cachbar machen
VII. Der Rest
45. Find these slides and
much more stuff at
www.bokowsky.net/de/knowledge-base/
46. Vielen Dank
Markus Bokowsky
markus@bokowsky.de
@MarkusBokowsky
sowie auf Facebook, Google+, Foursquare,
LinkedIn, Lanyrd, Pinterest, etc.
Bokowsky + Laymann GmbH
www.bokowsky.de
@BokowskyLaymann
sowie auf Facebook, Slideshare, YouTube,
Flickr
P.S: Bokowsky + Laymann sucht Entwickler
Objective-C, Java (Android), PHP, ColdFusion, Swift
jobs@bokowsky.de oder im Social Network IhresVertrauens