Se você é totalmente novo em AJAX (que significa Asynchronous Javascript And XML), a entrada AJAX na wikipedia é um bom ponto de partida:
Como DHTML e LAMP, AJAX não é uma tecnologia em si, mas um grupo de tecnologias. AJAX usa uma combinação de:
- HTML e CSS para marcar e estilizar informações.
- O DOM acessado com JavaScript para exibir e interagir dinamicamente com as informações apresentadas.
- Um método para trocar dados de forma assíncrona entre o navegador e o servidor, evitando recarregamentos de página. O objeto XMLHttpRequest (XHR) geralmente é usado, mas às vezes um objeto IFrame ou uma tag adicionada dinamicamente é usada em seu lugar.
- Um formato para os dados enviados ao navegador. Os formatos comuns incluem XML, HTML pré-formatado, texto simples e JavaScript Object Notation (JSON). Esses dados podem ser criados dinamicamente por alguma forma de script do lado do servidor.
Como você pode ver, de um ponto de vista puramente tecnológico, não há nada realmente novo aqui. A maioria das peças AJAX já estavam lá em 1994 (1999 para o XMLHttpRequest
objeto). A verdadeira novidade era usar essas peças em conjunto, como o Google fez com o GMail (2004) e o Google Maps (2005). Na verdade, ambos os sites contribuíram fortemente para a promoção do AJAX.
Uma imagem que vale mais que mil palavras, abaixo de um diagrama que ilustra a comunicação entre o cliente e o servidor remoto, bem como as diferenças entre os aplicativos clássicos e AJAX:
Para a parte laranja, você pode fazer tudo manualmente (com o XMLHttpRequest
objeto) ou pode usar bibliotecas JavaScript famosas como jQuery , Prototype , YUI , etc. para "AJAXify" no lado do cliente de seu aplicativo. Essas bibliotecas têm como objetivo ocultar a complexidade do desenvolvimento de JavaScript (por exemplo, a compatibilidade entre navegadores), mas pode ser um exagero para um recurso simples.
No lado do servidor, alguns frameworks também podem ajudar (por exemplo, DWR ou RAJAX se você estiver usando Java), mas tudo que você precisa fazer é basicamente expor um serviço que retorna apenas as informações necessárias para atualizar parcialmente a página (inicialmente como XML / XHTML - o X em AJAX - mas JSON é frequentemente o preferido hoje em dia).