Aplicativo de página única
Um aplicativo de página única é uma aplicação web ou site que consiste de uma única página web com o objetivo de fornecer uma experiência do usuário similar à de um aplicativo desktop. Em um SPA, todo o código necessário - HTML, JavaScript, e CSS – ou é obtido com um único carregamento de página, ou os recursos apropriados são carregados dinamicamente e adicionados à página conforme necessário, geralmente em resposta a ações do usuário. A página não é recarregada em qualquer momento do processo, tampouco ocorre a transferência de controle para outra página, embora a URL no navegador ou a API de história do HTML5 possam ser usadas para fornecer a percepção e navegabilidade de páginas separadas ao aplicativo. Interação com aplicativos de página única muitas vezes envolve comunicação dinâmica com o servidor web por trás dos bastidores.
Imagem: ANSESGOB · BY-SA · Openverse
Existem diversas técnicas que permitem o navegador manter uma única página mesmo quando o site/aplicativo requer atualização de dados vindo da comunicação com o servidor. Frameworks JavaScript para aplicações web, como o React e o Vue, geralmente aprimoram recursos disponíveis por meio de tecnologias web nativas, como roteamento, desenvolvimento baseado em componentes e gerenciamento de estado, capacidade de aumentar a produtividade do desenvolvedor, padrões estruturados para aplicações de grande escala, simplificar o tratamento de casos extremos e, ferramentas para otimização de desempenho como camadas de abstração, renderização simultânea, tree-shaking e, hidratação seletiva. Embora os padrões web nativos tenham avançado significativamente, incluindo Web Components, API JavaScript modernas como Fetch e ES Modules, e recursos do navegador como Shadow DOM. Embora esses avanços melhorem a eficiência da renderização e o gerenciamento de recursos, seus benefícios dependem da aplicação específica e do contexto de implementação. Frameworks leves, como Svelte e Preact, adotam abordagens arquitetônicas diferentes; o Svelte elimina completamente o DOM virtual, optando por compilar componentes em código JavaScript eficiente, enquanto o Preact oferece uma alternativa minimalista e compatível com o React. A escolha da estrutura depende dos requisitos de uma aplicação, incluindo a experiência da equipe, metas de desempenho e prioridades de desenvolvimento.
As origens do termo aplicação de página única não são claras, embora o conceito seja discutido desde 2003 por evangelistas de tecnologia da Netscape e, embora Stuart Morris, um estudante de programação da Universidade de Cardiff (País de Gales), escreveu no site slashdotslash.com os mesmos objetivos e funções em abril de 2002, e mais tarde, no mesmo ano, Lucas Birdeau, Kevin Hakman, Michael Peachey e Clifford Yeh descreveram uma implementação de aplicação de página única na patente americana US-8136109B1. As versões anteriores eram chamadas de aplicações web avançadas/rica.


