React SPA: Entendendo o conceito de uma Single Page Application

Nesta documentação você aprenderá o que é uma Single Page Application e como esse conceito pode ser aplicado nas suas páginas, além de ver como utilizá-lo em um projeto React.

O que é uma SPA (Single Page Application)?

SPA (Single Page Application) é uma aplicação que carrega apenas um único documento Web e, em seguida, atualiza o conteúdo do corpo desse documento único por meio de APIs JavaScript.

Como funciona uma Single Page Application?

De maneira geral, em uma aplicação SPA, o carregamento dos recursos (como CSS, JavaScript e HTML das páginas) ocorre apenas uma única vez: na primeira vez em que o usuário acessa a aplicação.

Nesse primeiro acesso, todo o conteúdo já é transferido para o cliente. A partir deste momento, quando o usuário transitar pelas páginas da aplicação, não será necessário mais fazer requisições ao servidor para a carga dessas novas páginas: o conteúdo relacionado a elas já foi baixado no primeiro acesso.

O conteúdo da página é carregado via JavaScript, código este que é justamente gerado com o uso de bibliotecas que auxiliam na construção de SPA's.

Por isso, dizemos que o processamento do carregamento das páginas e seus respectivos recursos passa para o cliente, já que o JavaScript é uma linguagem majoritariamente client-side.

Exemplos de Single Page Applications

As SPA estão presentes no nosso dia a dia há algum tempo. Grandes exemplos disso são o Gmail, o Outlook, o Trello e outras aplicações (web), conforme vemos nas Figuras 1 a 3. Na mesma página temos a possibilidade de abrir uma mensagem, excluí-la, respondê-la, etc., sem que toda a estrutura seja recarregada (apenas a parte central muda).

Figura 1. Exemplo de uma SPA (Gmail)
Figura 2. Exemplo de uma SPA (Outlook)
Figura 3. Exemplo de uma SPA (Trello)

Bibliotecas JS usadas para construir uma SPA

No JavaScript temos diversas bibliotecas e o uso de algumas delas é bastante comum na hora de construir uma SPA. As mais famosas a serem usadas são:

Vantagens da SPA

Desvantagens da SPA

Exemplo de uma SPA criada com o React

Por fazer parte do contexto desta documentação criamos um exemplo de aplicação SPA com o uso da biblioteca React JS.

Não entenda o uso do React como obrigatório para a criação de SPAs: você pode usufruir de outras bibliotecas para criar a sua própria aplicação. A escolha da biblioteca geralmente é feita levando em consideração as necessidades do projeto a ser criado.

Veja abaixo em detalhes o código de uma SPA criada com o React JS.

Artigos relacionados