Strategii de Lazy Loading Dincolo de Imagini
Lazy loading-ul imaginilor cu loading='lazy' este baza — fiecare dezvoltator cunoaște acest truc. Dar câștigurile reale de performanță vin din aplicarea principiilor de lazy loading la totul: componente, rute, scripturi third-party și chiar strategii de fetching al datelor.
React lazy() și Suspense fac code splitting-ul la nivel de componentă simplu. Componentele grele precum editoarele de text rich, graficele și hărțile ar trebui întotdeauna importate dinamic. Cheia este identificarea punctelor potrivite de split — componente care nu sunt vizibile la încărcarea inițială sau necesită interacțiune de la utilizator.
Code splitting-ul bazat pe rute este gestionat automat de Next.js, dar poți merge mai departe. Folosește importuri dinamice pentru conținutul modalurilor, panouri de tab-uri și secțiuni de accordion. Fiecare punct de split reduce payload-ul JavaScript inițial, îmbunătățind Time to Interactive.
Scripturile third-party sunt adesea cei mai mari vinovați. Analytics, widget-uri de chat, social embeds și scripturi de advertising pot adăuga ușor 500KB+ la bundle-ul tău. Încarcă-le cu requestIdleCallback sau triggere de intersection observer — doar când browser-ul este idle sau când secțiunea relevantă intră în viewport.
Fetching-ul datelor poate fi și el lazy. În loc să încarci toate datele din start, implementează paginare, infinite scroll sau pattern-uri fetch-on-reveal. Combinat cu React Server Components care streamează HTML, poți crea interfețe care se simt instantanee chiar și cu seturi mari de date.