sábado, 16 de outubro de 2021

Aplicação Web comum VS Aplicação Web SPA

usuarios sistema aplicativo

Aplicações web comuns trabalham com mecanismos de template de frameworks back-end ou simplesmente misturam dados e layout para apresentar as páginas. Já as Aplicações SPA trabalham em componentes e separam camada de dados da camada de apresentação.

Aplicações Web comuns realizam um fluxo de atividades de visualização e requisição HTTP, com algumas interações dinâmicas via JavaScript (jQuery). Essas aplicações são baseadas em ações síncronas, sem preocupação com performance ou experiência do usuário. A arquitetura de Aplicações Web comuns costuma ser bastante simples:

  • HTML: marcação de elementos
  • CSS: estilização de elementos – layout, fontes, cores…
  • JavaScript: pequenas interações no navegador
  • Navegador cliente: realiza requisições HTTP ao servidor Web
  • Servidor de Banco de Dados: armazena toda a informação do sistema
  • Servidor Web: para processar uma resposta do banco de dados e devolver uma resposta ao navegador

HTML, CSS e JavaScript juntas compõem o Front-End e são interpretadas por qualquer navegador. Os Servidores são a parte que conhecemos por Back-End. Encontramos, então, pelo menos dois problemas elementares nesse modelo comum:

  • O modelo de Aplicações Web comum sobrecarrega o servidor (Back-End) com responsabilidades que deveriam ser exclusivas do navegador (Front-End), solicitando que o mesmo processe toda a parte visual juntamente com os pacotes de resposta.
  • Nesse modelo, não é de praste reutilizar as mesmas interfaces/funções para servir outros sistemas;
  • Mas existem motivos para usar jQuery. Entenda o que explico nesse outro artigo.

Passamos então a rever a produtividade para o desenvolvimento e a performance final de produtos criados com este modelo de Aplicações Web comuns com muitas controvérsias. Para solucionar isso, já existem diversos frameworks populares de Aplicações Web SPA – Aplicações de Página Única – que são a solução arquitetural mais plausível frente aos novos desafios de desenvolvimento. A solução agora é clara: separar a parte de dados e lógica (Back-end) da parte visual (Front-End), permitindo que cada uma exerça sua função exclusivamente.

Aplicações SPA são compiladas para trabalhar requisições/respostas assíncronas, criando-se distribuições de software com interfaces super-leves baseadas em componentes, com mecanismos para cache massivo no navegador cliente. Enquanto a parte de lógica e dados é delegada a uma API segura, que nada mais é que um outro sistema separado, com a função exclusiva fornecer dados e responder às requisições da SPA.

Essa mesma API criada irá servir dados a outros APPs do negócio, uma vez que já foram criadas rotas fornecimento/consumo de informações do banco de dados. Percebemos então múltiplas outras possibilidades dentro do paradigma SPA + API que antigamente não eram tão adotadas pela comunidade de desenvolvimento.

Conclusão

Aplicações Web SPA são melhores do que Aplicações Web comuns nos quesitos principais de aplicações web:

  • Separação de responsabilidades
  • Escalabilidade
  • Manutenção
  • Performance
  • Segurança

Não concorda? Deixe seu comentário!

Este artigo foi lido 443+ vezes. Obrigado por ler até aqui! Gostou do conteúdo? Fique à vontade pra copiar e compartilhar. Ajude sempre seus colegas. O conhecimento muda vidas!
  • Página no LinkedIn
  • Página no GitHub
  • Perfil Stack Overflow
EnglishPortuguês