V přednášce se podíváme na zajímavé novinky, které vám usnadní dělat rychlejší weby. Je zde spousta nových technologií, které můžeme v prohlížečích používat už nyní, ale mezi vývojáři nemají takovou popularitu. A to nemluvíme o nových nástrojích pro ladění rychlosti, které jsou po ruce a šetří nám čas.
4. @machal
1. WebP, Avif
2. Priority Hints
3. aspect-ratio
4. size-adjust
5. BFcache
6. Prerender
7. INP
8. Web Vitals overlay
9. Perf. Insights
10. Trace.Cafe
Rychlejší web snadno a rychle:
nové technologie a nástroje
pro vývojáře
5. @machal
1. WebP, Avif
2. Priority Hints
3. aspect-ratio
4. size-adjust
5. BFcache
6. Prerender
7. INP
8. Web Vitals overlay
9. Perf. Insights
10. Trace.Cafe
Rychlejší web snadno a rychle:
nové technologie a nástroje
pro vývojáře
6. Tradiční obrázkové formáty mají své primární určení:
Gif pro animace, JPEG pro ztrátovou kompresi. PNG
pro poloprůhlednost. SVG pro vektory.
11. @machal
1. WebP, Avif
2. Priority Hints
3. aspect-ratio
4. size-adjust
5. BFcache
6. Prerender
7. INP
8. Web Vitals overlay
9. Perf. Insights
10. Trace.Cafe
Rychlejší web snadno a rychle:
nové technologie a nástroje
pro vývojáře
12. Priority Hints: preload
<link rel="preload" href="image.webp" as="image">
<link rel="preload" href="font-1.woff2"
as="font" type="font/woff2" crossorigin>
Preload se občas docela hodí
pro zvýšení priority načtení
konkrétního prvku, třeba fontů.
https://www.vzhurudolu.cz/prirucka/preload
13. Priority Hints: fetchpriority
<img fetchpriority="high" href="image-1.webp">
<img fetchpriority="low" href="image-2.webp">
https://www.vzhurudolu.cz/prirucka/priority-hints
Nový atribut fetchpriority umožní definovat
vyšší prioritu načtení na HTML prvku. Ale
také prioritu snížit.
16. @machal
1. WebP, Avif
2. Priority Hints
3. aspect-ratio
4. size-adjust
5. BFcache
6. Prerender
7. INP
8. Web Vitals overlay
9. Perf. Insights
10. Trace.Cafe
Rychlejší web snadno a rychle:
nové technologie a nástroje
pro vývojáře
18. Malý, ale veselý obrázek
<img src="image.webp"
width="500" height="500"
alt="Image">
Obrázkům vždy definujte tyto atributy.
Slouží k nastavení rezervovaného
prostoru. Díky tomu se nestane layout
shift a nezhorší CLS.
https://www.vzhurudolu.cz/prirucka/img-pomer-stran
19. CLS a média: aspect-ratio
p {
aspect-ratio: 4/3;
}
CSS vlastnost aspect-ratio nastavuje
poměr stran u prvků, které nejsou
obrázky. Odstraňuje nutnost použití
„padding triku“.
https://www.vzhurudolu.cz/prirucka/css-aspect-ratio
20. CLS a média: podpora
aspect-ratio:
<img width/height>
21. @machal
1. WebP, Avif
2. Priority Hints
3. aspect-ratio
4. size-adjust
5. BFcache
6. Prerender
7. INP
8. Web Vitals overlay
9. Perf. Insights
10. Trace.Cafe
Rychlejší web snadno a rychle:
nové technologie a nástroje pro
vývojáře
22. Webfonty a CLS: problém
Častý problém u CLS je
jiná velikost
systémového písma a
vlastního fontu.
23. Webfonty a CLS: size-adjust
https://www.vzhurudolu.cz/prirucka/css-size-adjust
24. Webfonty a CLS: size-adjust
@font-face {
font-family: "Montserrat-fallback";
size-adjust: 113.56999999999995%;
src: local("Arial Bold"), local("Arial");
}
Zápis size-adjust upraví velikost
systémového písma k vlastnímu fontu a
minimalizuje shifty a zhoršení CLS
typografií.
26. @machal
1. WebP, Avif
2. Priority Hints
3. aspect-ratio
4. size-adjust
5. BFcache
6. Prerender
7. INP
8. Web Vitals overlay
9. Perf. Insights
10. Trace.Cafe
Rychlejší web snadno a rychle:
nové technologie a nástroje
pro vývojáře
27. BFcache v Chrome
Zrychlení webu s back/
forward cache je
viditelné na první
pohled.
https://www.youtube.com/watch?v=cuPsdRckkF0
28. BFcache: co nedělat?
• unload, beforeunload
• Cache-Control: no-store
• reference na window.opener
https://web.dev/bfcache/
30. @machal
1. WebP, Avif
2. Priority Hints
3. aspect-ratio
4. size-adjust
5. BFcache
6. Prerender
7. INP
8. Web Vitals overlay
9. Perf. Insights
10. Trace.Cafe
Rychlejší web snadno a rychle:
nové technologie a nástroje
pro vývojáře
34. @machal
1. WebP, Avif
2. Priority Hints
3. aspect-ratio
4. size-adjust
5. BFcache
6. Prerender
7. INP
8. Web Vitals overlay
9. Perf. Insights
10. Trace.Cafe
Rychlejší web snadno a rychle:
nové technologie a nástroje
pro vývojáře
36. Nová metrika INP nahradí FID
nejspíš v roce 2024.
https://www.vzhurudolu.cz/prirucka/metrika-inp
37. INP ⨉ FID
• FID
=
první interakce ⨉ INP
=
celý pobyt ve stránce.
• FID splňuje 95 % webů ⨉ INP jen 66 %.
• FID
=
první část reakce ⨉ INP
=
celá reakce.
38. FID → INP = Ach!
Metriku INP má nyní
„rozbitou“ docela dost
českých webů.
39. @machal
1. WebP, Avif
2. Priority Hints
3. aspect-ratio
4. size-adjust
5. BFcache
6. Prerender
7. INP
8. Web Vitals overlay
9. Perf. Insights
10. Trace.Cafe
Rychlejší web snadno a rychle:
nové technologie a nástroje
pro vývojáře
40. Tato lišta je pro lokální testování
výrazně lepší než Lighthouse.
Ukazuje správné metriky a správně
vypočítané.
41. @machal
1. WebP, Avif
2. Priority Hints
3. aspect-ratio
4. size-adjust
5. BFcache
6. Prerender
7. INP
8. Web Vitals overlay
9. Perf. Insights
10. Trace.Cafe
Rychlejší web snadno a rychle:
nové technologie a nástroje
pro vývojáře
45. @machal
1. WebP, Avif
2. Priority Hints
3. aspect-ratio
4. size-adjust
5. BFcache
6. Prerender
7. INP
8. Web Vitals overlay
9. Perf. Insights
10. Trace.Cafe
Rychlejší web snadno a rychle:
nové technologie a nástroje
pro vývojáře
46. Trace.cafe vám umožní nasdílet
výstup z Trace (záložka
Performance) na konkrétním URL.
https://trace.cafe/