domingo, 15 de junho de 2008

Tudo sobre Ajax (Programação). - Parte II

Os quatro princípios de Ajax

O modelo clássico de aplicação baseado em páginas é amarrado em muitas das estruturas que nós usamos, e também em nossas maneiras de pensar. Vamos fazer uma análise de alguns minutos para descobrir o que são estas suposições essenciais e como necessitamos repensar estas idéias para entendermos Ajax suficientemente.

[editar] O navegador hospeda uma aplicação, e não conteúdo

Numa aplicação web clássica baseada em páginas, o navegador é efetivamente um terminal burro. Ele não sabe nada sobre o que o usuário está realmente realizando em suas ações conseqüentes. Todas essas informações são retidas no servidor web, tipicamente na sessão do usuário. Sessões de usuários no lado servidor são comuns atualmente. Se a aplicação foi escrita em PHP, Plataforma Java, .NET, Ruby on Rails ou outra linguagem utilizada no desenvolvimento de aplicações para Web, a sessão no lado servidor faz parte da API padrão, assim como controle de solicitações, respostas, e tipos de conteúdo (MIME).

Quando o usuário entra ou de outra maneira inicia uma sessão, vários objetos são criados no servidor, representando, por exemplo, a cesta de compras e as credenciais de cliente do usuário. Ao mesmo tempo, a página inicial é servida ao navegador, em um fluxo de marcações HTML que mistura um anúncio de apresentação padrão e dados específicos do usuário juntos com o conteúdo, como por exemplo, uma lista de itens exibidos recentemente.

Toda vez que o usuário interage com o sítio, um outro documento é enviado para o navegador, contendo a mesma mistura de cabeçalhos e dados. O navegador retira o documento anterior e exibe o novo, porque ele não sabe que o outro documento produz um resultado muito semelhante.

Quando o usuário efetua a saída ou fecha o navegador, a aplicação sai e a sessão é destruída. Qualquer informação que o usuário necessite ver na próxima vez que ele entrar terá que ser passada para a camada de persistência de dados em cada visita. Já em uma aplicação Ajax, parte da lógica da aplicação é movida para o navegador.

Neste novo cenário, quando o usuário entra, um documento mais complexo é entregue ao navegador, uma grande proporção do qual é código JavaScript. Este documento permanecerá com o usuário por toda a sessão, ainda que ele resolva provavelmente alterar sua aparência consideravelmente, enquanto o usuário está interagindo com ele. Ele sabe como responder às informações inseridas pelo usuário e é capaz de decidir se manipula a entrada do usuário ele mesmo ou se passa uma solicitação para o servidor web (o qual tem acesso ao banco de dados do sistema e outros recursos), ou ainda, se faz uma combinação de ambos.

Ele também pode armazenar o estado, porque o documento continua persistindo sobre toda a sessão do usuário. Por exemplo, o conteúdo de uma cesta de compras pode ser armazenado no navegador, em vez de ser armazenado na sessão do servidor.

Nenhum comentário: