O Poder de uma SPA

      No Comments on O Poder de uma SPA

Introdução

Nesta edição, trago até vós um artigo sobre o conceito das SPA’s. Para os leitores que não estão tão familiarizados com este conceito e quais as vantagens e desvantagens no uso de uma SPA, assim como as diferenças entre ter aplicações de múltiplas páginas e de página única, permitam-me que vós conduza pelas próximas páginas.

A primeira página web surgiu em 1994, uma simples página HTML sem grandes estilos ou animações associados.

Com o passar dos anos, as pessoas foram-se tornando cada vez mais exigentes, com um aumento significativo na evolução tecnológica.

A tecnologia evoluiu, os novos dispositivos (smartphones, tablets) começaram a aparecer, obrigando as aplicações a serem suportáveis, responsivas e visíveis em cada um desses dispositivos. Cada vez mais, os utilizadores pretendem aplicações mais rápidas, fluídas, com tempos de resposta rápidos, que sejam suportadas em todos os dispositivos, que corram numa única página como se de uma aplicação desktop se tratasse. Ora tudo isto exige aos programadores que repensem a forma como constroem a arquitetura da sua aplicação. É aqui que entra o conceito das Single Page Applications também conhecido pelo acrónimo de SPA, termo que usaremos durante o artigo.

SPA é o conceito usado para aplicações web que carregam uma página HTML simples e em seguida atualiza a página dinamicamente em vez de carregar novas páginas. Após o carregamento da página inicial a aplicação SPA comunica com o servidor por meio de solicitações AJAX (Asynchronous JavaScript and XML).

Uma vez que grande parte da aplicação se centra do lado do cliente, exigiu aos programadores um maior domínio da linguagem Javascript. Esta também tem vindo a evoluir exponencialmente ao longo dos anos.

Motivações para o uso de SPA’s

Existem várias motivações no uso de uma aplicação como esta, sendo algumas delas as que enumero de seguida:

1. Reach

As aplicações SPA podem ser acessíveis em diferentes plataformas e dispositivos desde que tenha um browser.

2. Responsive

As aplicações necessitam de ser responsivas para serem facilmente visíveis nas diferentes resoluções de ecrãs.

3. Round Trip

Grande redução do número de pedidos efetuados entre cliente e servidor. Uma vez que a aplicação se centra maioritariamente do lado do cliente, o programador só necessita de fazer os pedidos necessários para obter, gravar e listar os dados propriamente ditos, e não páginas HTML.

4. Melhor experiência de utilização

A experiência de utilização numa aplicação deste tipo é mais imersiva.

5. Separação de responsabilidades entre cliente e servidor

Numa SPA a divisão de responsabilidades entre aquilo que é cliente e o que é servidor torna-se evidente. Facilmente se torna possível ter pessoas dedicadas a trabalhar do lado do cliente, focadas no HTML5, CSS3 e Javascript e outras pessoas dedicadas ao lado do servidor, implementando uma Web Api, por exemplo, expondo os recursos necessários em resposta ao cliente.

6. Offline Applications

O HTML5 permite mecanismos de Application Cache, o que significa que a aplicação pode ficar em cache e ser acessível sem ter acesso à internet. A vantagem deste mecanismo é o facto do utilizador conseguir aceder aos dados sem estar conectado à internet. Assim o carregamento dos dados torna-se mais rápido e reduz o carregamento ao servidor uma vez que este só é recorrido para efectuar uma actualização ou alteração. Uma outra forma pode passar por usar os O Poder de uma SPA No Code 56 mecanismos de local storage e session storage fornecidos pelo HTML5.

Considerações

Apesar das inúmeras vantagens existentes na construção e uso de SPA’s existem algumas considerações em ter em conta, sendo elas:

1. O primeiro carregamento da página pode ser lento

A primeira vez que a aplicação é carregada poderá levar algum tempo uma vez que grande parte dos dados têm que ser carregados de inicio para que toda a interação possa ser efetuada maioritariamente do lado do cliente.

2. Deep-linking

A navegação em aplicações como estas também pode tornar-se complicada, exigindo ao programador que implemente a funcionalidade de back por exemplo, algo que nos é diretamente fornecido pelo browser.

3. SEO

Uma vez que não existem âncoras tende-se a que ferramentas de Searching como o Google não consigam encontrar facilmente este tipo de aplicações.

Agora que enumeramos algumas das desvantagens do uso de SPA’s , passo a descrever as diferentes formas de funcionamento das aplicações de múltiplas páginas (aplicação web tradicional) e as SPA’s. Posteriormente mostramos uma junção destes dois tipos de aplicações que pode ser efectuado. (…)

Restante artigo publicado na revista programar edição 53.

Obrigado 🙂

About Mónica Rodrigues

Licenciada em Engenharia Informática e de computadores pelo ISEL. Experiência em desenvolvimento web nas mais variadas tecnologias, desde HTML5, AngularJs, Asp.Net Web API, Asp.Net MVC, Entity Framework e tantas outras. Gosto igualmente de desenhar soluções de arquitectura, aplicando padrões de desenho. Gosto de participar, entre outros, nos eventos da Microsoft, das comunidades Netponto, Geek Girls Portugal (da qual faço parte da organização em Lisboa) e outras de forma a estar atenda às tecnologias emergentes.

Leave a Reply