Dbałość o wydajność frontendu stała się koniecznością, ale często zatrzymujemy się na elementach, których nie da się zoptymalizować. Pozornie. Pokażę Ci 10 przykładów z realnych projektów, gdzie za pośrednictwem <fscript>, Qwik, Partytown oraz wiedzy o działaniu przeglądarki zoptymalizujemy skrypty zewnętrzne (będące powodem wysokiego TBT i TTI). Pokażę Ci zaawansowaną optymalizację ładowania assetów i renderowania strony (z podeściem connection-aware i użyciem Resource/Priority Hintów). Wszystko, co w 2022 ułatwia dostarczanie jak najlepszego UX na stronie i zapewnienie jak najlepszych not Web Vitals.
10. ABOVETHEFOLD:<HEAD>
✓ <head> jest największym blokującym renderowanie elementem każdej
strony (skrypty JS, style CSS i ich oddziaływanie)
✓ Kolejność ładowanych zasobów jest mega istotna
LIVE: Wydajność frontendu w 2022
✓ Przeglądarka sama stara się najlepiej zadecydować kiedy i co
załadować
12. ABOVETHEFOLD:<HEAD>
✓ Kolejność zależy od typu zasobu [CSS, font, script, obrazek, 3rd party], miejsca
lub kolejności umiejscowienia w dokumencie HTML, od <link> preload, async/
defer dla skryptów)
LIVE: Wydajność frontendu w 2022
19. ABOVETHEFOLD:<HEAD>
✓ Jeśli macie SPA lub prosty Landing Page:
wstrzykujcie cały CSS do <head> poprzez <style>!
LIVE: Wydajność frontendu w 2022
20. ABOVETHEFOLD:LCP
✓ Obrazek umieszczany przez CSS background-style: image()
jest zawsze wolniejszy niż umieszczony poprzez <img>
LIVE: Wydajność frontendu w 2022
29. BACKGROUND:3RDPARTIES
✓ Skrypty trackujące (np. Google Analytics)
LIVE: Wydajność frontendu w 2022
✓ Obciążenie głównego wątku
(3rd parties + cała reszta strony —> wysokie TTI + TBT )
✓ Czat
✓ Reklamy (np. Google Adsense)
✓ Tag Managery
43. ✓ Pobieramy mniej HTML
LIVE: Wydajność frontendu w 2022
✓ Skupiamy się na szybszym wyświetleniu przestrzeni Above The Fold
✓ Mniejszy HTML = szybsze tworzenie drzewa renderowania (DOM + CSSOM)
✓ Mniej uruchamianego Javascriptu na początku, mniej nasłuchiwania
elementów DOM od samego początku
✓ Korzystne dla TTI i TBT
✓ Mniej obciążany główny wątek przeglądarki
BELOWTHEFOLD:LAZYRENDERING
✓ Mniej pominiętych klatek w procesie renderowania (dropped frames)
60. CONNECTION-AWARE
LIVE: Wydajność frontendu w 2022
✓ Serwowanie contentu w zależności od jakości połączenia
internetowego (np. obrazek zamiast video)
✓ Tryb oszczędnościowy smartfona —> np. bez serwowania animacji
65. PODSUMOWANIE
✓ Pomóż przeglądarce
LIVE: Wydajność frontendu w 2022
✓ Kolejność ładowanych zasobów ma ogromne znaczenie (testuj,
reorganizuj kolejność, priorytetyzuj to, co najważniejsze)
✓ Skup się na przestrzeni Above The Fold (mało zasobów, LCP)
✓ Ładuj leniwie zasoby Below The Fold
✓ Renderuj leniwie to, co Below The Fold
✓ Skrypty zewnętrzne —>
opóźniaj lub przenieś do web workera (TTI, TBT)
✓ Testuj & kombinuj. Zawsze coś się da.