Vantagens e problemas (Ajax)

Atualizado em 25.4.2008

Combinação de linguagens que permite a atualização dinâmica de dados em uma página web sem que esta precise ser inteiramente recarregada, o uso de Ajax apresenta vantagens e desvantagesn, como:

Vantagens do Ajax

O usuário economiza tempo, pois não precisa esperar seguidas vezes pelo download de uma página ou de áreas de uma página para acompanhar a atualização.

Diminui o número de requisições ao servidor para recarregar uma página (apenas informações pontuais são atualizadas, não é preciso requisitar textos e imagens que não sofreram alterações).

Tem recursos específicos de usabilidade, que permitem a atualização de notícias, por exemplo, sem que a página inteira "pule" diante do usuário sem avisar que foi atualizada.

É compatível com a maioria dos browsers e sistemas operacionais - baseada em standards abertos, amplamente testados, não está sujeita às soluções proprietárias de desenvolvedores.

Está sendo adotada por líderes da indústria (como Google, Yahoo, Amazon e Microsoft), o que reforça a sua aceitação pelo mercado.

Evolui rapidamente a partir da comunicação entre desenvolvedores, que têm acesso às fontes dos componentes dos programas desenvolvidos por outros profissionais/equipes.

A Microsoft lançou um conjunto de ferramentas para o desenvolvimento em Ajax, chamado Atlas, baseado eml Visual Studio.

A IBM propõe a AJAX Toolkit Framework.

Empresas como BEA Systems, Oracle, Yahoo, Red Hat e Zend Technologies apoiam a Open Source Initiative (OSI) na criação de padrões para o desenvolvimento de ferramentas para Ajax. (TechRepublic, 25.4.2006)

O Google aplica Ajax no desenvolvimento de aplicativos como o Google Suggest, que sugere expressões e palavras-chave relacionadas à procura, na medida em que o usuário digita no campo de busca (as sugestões se baseam na popularidade dos termos no ranking de buscas da ferramenta).

Outro exemplo de aplicação é o Google Maps, que permite que o usuário desloque os mapas com o mouse, sem que a imagem seja recarregada.

Outros exemplos de sites que usam Ajax: (1).

-> Colr.org (criação de esquemas de cores a partir de conceitos e imagens)
-> CalendarHub (agendas pessoais online)
-> Goowy (gerenciador de webmail, contatos, agenda, jogos acessados regularmente).

Permite que os ataques aos sites que utilizam a tecnologia sejam gerenciados de maneira centralizada, se contrapondo aos aplicativos desktop, instalados em cada dispositivo, cujo uso (bem como a contaminação) é, em última análise, responsabilidade do usuário ou do ambiente funcional em que este atua.

Alguns problemas do Ajax

Não pode ser usado pelos usuários que desabilitam JavaScript nos browsers ou não têm recursos de acessar o servidor através dos scripts. Mesmo que a funcionalidade fique prejudicada, de acordo com as melhores práticas de acessibilidade, o conteúdo das páginas deve ser acessível também a estes usuários.

O uso do botão "Voltar" do browser, um dos mais utilizados pelos usuários, não é confiável, pois não funciona de maneira consistente para páginas atualizadas dinamicamente.

A atualização dinâmica das páginas dificulta a marcação da sua URL nos "Favoritos" ou o seu envio para outras pessoas (embora algumas soluções ofereçam uso de pontos "âncora" atualizados dinamicamente para identificar o aplicativo em certo ponto ou momento).

As páginas não oferecem funcionalidade plena para usuários com deficiências físicas e usuários de browsers especiais.

Apenas as versões recentes do Internet Explorer e do Mozilla são compatíveis com Ajax. O Opera é compatível com Ajax apenas a partir da versão 8.

Está sujeito a diferenças de interpretação pelos diversos browsers, pois se baseia em JavaScript. Um script pode funcionar de uma maneira em um browser e de outra maneira em outro browser. Este problema tende a diminuir, na medida em que os browsers cada vez mais compatíveis com os padrões web.

Como o conteúdo é dinâmico, é difícil a sua indexação pelos buscadores, pois estes exigem uma URL e indexam palavras publicadas nas páginas para classificá-las no ranking de resultados (as aranhas dos buscadores não carregam as páginas e executam o Javascript).

Os aplicativos podem ficar expostos a vulnerabilidades relacionadas a serviços web, aumentando muito o tráfego em rede de XML.

Ainda há brechas para ataques, as medidas de segurança usadas para defender os sites que utilizam Ajax ainda não são inteiramente conhecidas ou testadas. Em outubro de 2005 ocorreram ao site MySpace e em 2006 os serviços de mensagem instantânea do Yahoo também foram atacados (eWeek, 21.6.2006).

Pode acontecer também que um browser interprete um código JavaScript malicioso de um web site e seja instruído para capturar informação confidencial, como senhas e dados bancários.

Assuntos relacionados
CRM (Customer Relationship Management)
XHTML – Separar forma e conteúdo
Javascript
Acessibilidade
Serviços web.

Referências
AJAX: usable interactivity withremote scripting (SitePoint, acesso em 14.7.2005)
Will AJAX replace the desktop? (developer.com, acesso em 7.1.2005)
1) Technology of the year 2006 (ClickZ, acesso em 12.1.2006)

Mais informações sobre o assunto (links externos)
web 2.0, meet internet attack 2.0, de Stephen Shankland, sobre os problemas de segurança do Ajax Ajax (CNet News.Com, acesso em 25.4.2007)
Be aware of AJAX's drawbacks (TechRepublic, acesso em 14.3.2008)
Provide bookmark and history functionality with Really Simple History (TechRepublic, acesso em 27.2.2008)
AJAX gives software a fresh look (NewsCom, acesso em 04.10.2005)
Measuring the benefits of Ajax, de Alexei White, com testes comparados de uso de aplicativos tradicionais e aplicativos desenvolvidos com Ajax (developer.com, acesso em 07.1.2006)
A spider's view of web 2.0, de Michael Wyszomierski e Greg Grothaus, sobre a indexabilidade de sites e aplicativos desenvolvidos com Ajax (Google Webmaster Central Blog, acesso em 17.11.2007)

Termos utilizados:
XSLT

Avellar e Duarte no Twitter Avellar e Duarte no Facebook