Un'applicazione a pagina singola (SPA) è un'app Web che viene presentata all'utente tramite una singola pagina HTML per essere più reattiva e replicare più fedelmente un'applicazione desktop o un'app nativa. Una SPA viene talvolta definita interfaccia a pagina singola (SPI).
Un'applicazione a pagina singola può recuperare tutto il codice HTML, JavaScript e CSS dell'applicazione al caricamento iniziale o può caricare le risorse in modo dinamico per aggiornarle in risposta all'interazione dell'utente o ad altri eventi. Altre app Web, al contrario, presentano all'utente una pagina iniziale collegata a parti dell'applicazione su pagine HTML separate, il che significa che l'utente deve attendere il caricamento di una nuova pagina ogni volta che effettua una nuova richiesta.
Le SPA utilizzano HTML5 e Ajax (JavaScript e XML asincrono) per abilitare risposte fluide e dinamiche alle richieste degli utenti, consentendo al contenuto di aggiornarsi immediatamente quando un utente esegue un'azione. Una volta caricata la pagina, le interazioni con il server avvengono tramite chiamate Ajax e i dati vengono restituiti, tipicamente in formato JSON (JavaScript Object Notation), per aggiornare la pagina senza richiedere ricariche.
Dave Hecker fornisce un'introduzione alle app a pagina singola: