Três Tipos de Arquitetura de Aplicação Web

Expressões como “aplicação web”, “arquitetura front-end”, “Web 2.0” e “aplicações para HTML5” tornaram-se bastante correntes. Acontece, porém, serem frequentemente utilizadas de uma forma errónea, alienada da especificidade da implementação e do uso da Arquitetura de aplicação web. Apresentamos aqui três tipos de aplicações, diferenciando-os entre si:

Tipo 1: Servidor HTML

A Arquitetura mais conhecida. O servidor gera conteúdo HTML que envia para o cliente como uma página completa de HTML. Por vezes, este tipo de Arquitetura é chamado “Web 1.0”, por ter sido o primeiro a aparecer e a dominar a rede.

Tipo 2: “Widgets” de geração JS (AJAX)

Arquitetura mais desenvolvida do primeiro tipo, com a diferença de que a página exibida pelo navegador consiste em “widgets” (unidades funcionalmente independentes). Os conteúdos são enviados através da consulta do AJAX ao servidor, ora como página de HTML já construída, ora como JSON, que se converte no conteúdo da página através da ligação JavaScript.

A sua principal vantagem é que as atualizações do servidor chegam à parte da página solicitada pelo cliente. Também é positivo que os “widgets” estejam separados de um modo funcional, pois, se um “widget” específico trabalhar com uma parte da página, as mudanças introduzidas não afetam as restantes.

Tipo 3: Página única orientada para os serviços de aplicações Web (Web 2.0 e aplicações HTML5)

Web application servicesA expressão “Web 2.0” não é a mais adequada, por implicar que os utilizadores introduzam conteúdo. No fundo, refere-se a projetos e serviços ativamente desenvolvidos e sujeitos a melhorias pelos próprios utilizadores, como acontece nos blogues, wikis e nas redes sociais.

Neste caso, uma página HTML contendo código JavaScript é descarregada pelo servidor. O código remete para um serviço web específico e recolhe apenas conteúdos corporativos. Estes são utilizados pela aplicação JavaScript, que gera a página com conteúdo HTML.

Este tipo de Arquitetura representa uma evolução face ao anterior, que não permite exibir uma grande quantidade de funções estruturadas e inter-relacionadas.

Note-se ainda que atualmente são raras as aplicações que funcionem autonomamente “offline”. Esta abordagem permite uma fácil conversão inversa, que consiste na publicação de uma aplicação já existente na Web.