Daily Archives: 03/08/2006

AJAX – o que é?

Published by:

Ajax é a abreviatura de Asynchronous JavaScript and XML. Trata-se do nome de uma técnica para tornar a Web mais eficiente, transferindo pequenas quantidades de informação sem que o utilizador tenha essa percepção.

Mas, perguntam-me, o que te inspirou para escrever hoje sobre Ajax?

Esta tarde, um dos visitantes do meu blog foi originário do Google, onde tinha pesquisado “como colocar ajax no flash“.

Se me tivesse perguntado a mim, e não ao Google, provavelmente eu teria respondido não coloca.

O Ajax é uma técnica para efectuar pedidos HTTP em javascript e processar o XML devolvido para obter uma estrutura de dados, que será depois utilizada para alterar algo no site.

Mas, qual é o problema de utilizar isto em Flash?

Na verdade nenhum, no entanto o flash já dispõe de ferramentas para fazer todas estas operações internamente, pelo que não vejo necessidade de recorrer ao javascript para executar nenhuma delas.

O que o visitante do Web a Sério pretendia, penso, era implementar o tipo de funcionalidades normalmente atribuidas ao Ajax em Flash. Mas isso não é Ajax, uma vez que o JavaScript deixa de fazer parte da equação.

Ajax – descrição

Mas então, o que é o Ajax?

O Ajax é uma técnica, que consiste em utilizar um objecto XMLHttpRequest (que pode ter que ser criado de forma diferente consoante o browser) para efectuar um pedido HTTP ao servidor em background, receber dados do servidor em XML, processar esses dados e alterar o site de acordo com os dados recebidos.

Hoje existem várias variantes a todo este processo, sem normal utilizar um iframe para efectuar as chamadas ao servidor, e vários outros formatos são por vezes utilizados para a transferência de dados, incluindo HTML directamente, texto puro e vários outros.

Vantagens

As grandes vantagens de utilizar Ajax num site é que permite proceder a alterações na página com muito menos transferência de informação, pois podem ser transferidos apenas os dados novos em cada alteração, sendo o HTML do site reutilizado ou criado no cliente.

Por outro lado, como apenas partes das páginas são actualizadas, e essa actualização é normalmente muito mais rápida do que se toda a página fosse actualizada, o utilizador chega a ter a sensação de que tudo acontece em tempo real, localmente no seu computador.

Desvantagem

A grande desvantagem da utilização massiva de Ajax são a usabilidade e a indexação dos sites.

Pela parte da usabilidade, o facto de uma grande quantidade das funcionalidades do site serem implementadas em Javascript torna mais dificil a manutenção de funções a que os utilizadores estão habituados, como o botão Voltar/Back do browser, que quando as sucessivas páginas são criadas no browser do cliente não funciona.

Por outro lado, se as alterações são mais que alterações do conteúdo, mas navegação no próprio conteúdo, pode tornar-se impossível (ou pelo menos complexo) guardar links directos para determinado conteúdo que se pretende lembrar.

Esta questão da navegação coloca-se ainda com mais relevância quando se trata a indexação do site, pois se as listagens são geradas em Javascript, e os Robots de Indexação dos motores de pesquisa não executão o Javascript, na maioria dos caso não vão indexar correctamente o site.

Outro problema por vezes apresentado é o dos tempos de resposta, que numa rede com tempos de resposta elevados podem gerar timeouts e tempos de espera que os utilizadores não percebem. Nesta situação os utilizadores devem ser alertados visualmente desta situação.

Algumas referências