Lazy Loading
Lazy loading is een programmeertechniek waarbij het laden van bronnen wordt uitgesteld totdat ze nodig zijn. Een bekend voorbeeld is een webpagina die het laden van afbeeldingen uitstelt totdat de gebruiker naar hun locatie op de pagina scrolt. Lazy loading wordt gebruikt op het web en in softwareprogramma's, zoals mobiele en desktopapplicaties.
Lazy loading op het web
Lazy loading van afbeeldingen binnen een webpagina kan de laadtijd verkorten, omdat de browser geen afbeeldingen hoeft te laden die niet zichtbaar zijn. Terwijl de gebruiker door de pagina scrolt, worden de afbeeldingen dynamisch geladen. Dit gebeurt met JavaScript, dat de positie van elke afbeelding detecteert en bepaalt of deze zich in het zichtbare gebied van het browservenster bevindt. Als de gebruiker naar een afbeelding scrolt, vraagt JavaScript de bron op bij de webserver en geeft het de afbeelding op de pagina weer. Als de gebruiker niet naar beneden scrolt, wordt de afbeelding niet geladen.
Het is mogelijk om het laden van andere bronnen uit te stellen, zoals JavaScript-bestanden, CSS en zelfs de HTML zelf. Een webontwikkelaar kan bijvoorbeeld bepalen welke CSS-stijlen nodig zijn voor inhoud die "above-the-fold" staat, oftewel inhoud die binnen de hoogte van een typisch browservenster zichtbaar is. De ontwikkelaar kan deze implementeren als "inline stijlen", oftewel stijlen die binnen de HTML van de webpagina zijn gedefinieerd. JavaScript wordt gebruikt om aanvullende CSS te laden nadat de pagina is geladen of zodra de gebruiker begint te scrollen.
Lazy loading van video is ook populair op het web. Dit is bijzonder effectief omdat videobestanden doorgaans de grootste bronnen zijn die binnen een webpagina worden geladen. In plaats van de volledige video naar het apparaat van een klant te sturen, verzendt de webserver alleen kleine delen van de video terwijl de gebruiker deze bekijkt. Populaire websites voor het delen van video's, zoals YouTube en Vimeo, gebruiken lazy loading om bandbreedte te besparen en te voorkomen dat gebruikers meer videocontent downloaden dan nodig is. Dit is vooral nuttig voor gebruikers met internetverbindingen met een datalimiet, zoals mobiele data-abonnementen.
Lazy loading in softwareprogramma's
Hoewel lazy loading steeds populairder is geworden op het web, wordt het al lange tijd gebruikt bij de ontwikkeling van software. Een besturingssysteem kan bijvoorbeeld alleen miniatuurafbeeldingen weergeven voor de zichtbare pictogrammen in een map. Op vergelijkbare wijze kan een programma voor het bekijken van afbeeldingen alleen de zichtbare afbeeldingen in een fotobibliotheek laden. Dit gebruikt minder geheugen en verbetert de prestaties van de applicatie, omdat het programma geen onnodige gegevens laadt.
Test je kennis