Single-page application (SPA)

Een single-page application (SPA) is een webapplicatie die aan de gebruiker wordt gepresenteerd via een enkele HTML-pagina om responsiever te zijn en om een desktopapplicatie of een native app beter na te bootsen. Een SPA wordt ook wel een single-page interface (SPI) genoemd.

Een single-page applicatie kan alle HTML-, JavaScript- en CSS-code van de applicatie ophalen bij de eerste keer laden of kan bronnen dynamisch laden om deze bij te werken in reactie op interactie van de gebruiker of andere gebeurtenissen. Andere webapps presenteren de gebruiker daarentegen een intiƫle pagina die is gekoppeld aan delen van de applicatie op afzonderlijke HTML-pagina's, wat betekent dat de gebruiker moet wachten tot een nieuwe pagina is geladen telkens wanneer hij een nieuw verzoek doet.

SPA's maken gebruik van HTML5 en Ajax (Asynchronous JavaScript and XML) om soepele en dynamische reacties op verzoeken van gebruikers mogelijk te maken, waardoor de inhoud onmiddellijk kan worden bijgewerkt wanneer een gebruiker een actie uitvoert. Zodra de pagina is geladen, vindt de interactie met de server plaats via Ajax-oproepen en worden gegevens teruggestuurd, meestal in JSON-formaat (JavaScript Object Notation), zodat de pagina kan worden bijgewerkt zonder dat de pagina opnieuw hoeft te worden geladen.

Dave Hecker geeft een inleiding tot single-page apps: