MASIGNCLEAN101

O que é uma Single Page Application?



Single Page Application (SPA) é um modelo de desenvolvimento em que a aplicação web que se resume a uma única página, onde poderemos ter acesso a todas as outras paginas do site. Para que fique mais claro, é preciso falar um pouquinho sobre roteamento, já que pode ser um conceito novo. 

O roteamento em uma pagina da web é o mapeamento entre a URL em que o usuário se encontra se encontra e algum recurso do servidor, que pode ser uma página da web ou uma função ou algum outro tipo de arquivo. No modelo SPA o roteamento das páginas é feito localmente com o uso de Javascript, com isto a mudança de paginas ocorre de uma maneira muito rápida, reduzindo bastante a quantidade de requisições ao servidor web (e custos por consequência). Hoje em dia muitos frameworks em javascript estão implementando este tipo de roteamento (temos por exemplo: Angular, e Vue.Js dentre outros). 


No geral estes frameworks capturam a propriedade “location.href”, que deve conter um caractere especial “#” seguido de um identificador da rota. Este identificador pode ser o mesmo o nome de alguma função no javascript ou algum componente (no caso do angular), podendo conter parâmetros de rota, ex: “www.example.com/#users/user/3”, onde “3” é o parametro recebido através da rota. 

O modelo SPA é particularmente útil no desenvolvimento de aplicações para dispositivos móveis, como é o caso do Ionic Framework, visto que seria inviável fazer requisições ao servidor para a mudança de telas neste tipo de aplicação. Além disso este modelo faz com que a maior parte das regras de negócio da aplicação sejam implementadas no cliente.
Compartilhe esse artigo!
Marcus Vinicius
escreve para o Mundo Informal sob a licença Creative Commons BY-SA 3.0. Você pode usar e compartilhar este conteúdo desde que credite o autor e veículo original do mesmo.
Seja livre para expor seu pensamento!

Se preferir, antes leia nossa política para comentários...
Atenção: Comentários "Anônimo" não serão publicados. Escolha "Nome/URL". Obrigado!