Uma aplicação de página única (SPA) é uma aplicação Web que é apresentada ao usuário através de uma única página HTML para ser mais responsiva e para mais próxima replicar uma aplicação desktop ou uma aplicação nativa. Um SPA é às vezes referido como uma interface de página única (SPI).
Um aplicativo de página única pode recuperar todo o código HTML, JavaScript e CSS do aplicativo na carga inicial ou pode carregar recursos dinamicamente para atualizar em resposta à interação do usuário ou outros eventos. Outros aplicativos web, ao contrário, apresentam ao usuário uma página incial que é ligada a partes do aplicativo em páginas HTML separadas, o que significa que o usuário tem que esperar que uma nova página seja carregada toda vez que faz uma nova solicitação.
SPAs usam HTML5 e Ajax (Asynchronous JavaScript and XML) para permitir respostas suaves e dinâmicas às solicitações do usuário, permitindo que o conteúdo seja atualizado imediatamente quando um usuário executa uma ação. Uma vez carregada a página, as interações com o servidor são através de chamadas Ajax e os dados são retornados, tipicamente em formato JSON (JavaScript Object Notation), para atualizar a página sem requerer recarga.
Dave Hecker fornece uma introdução aos aplicativos de página única: