Ajax
Acrônimo que significa Asynchronous JavaScript and XML, refere-se, de modo geral, a uma solução tecnológica que permite a atualização dinâmica de dados em uma página web sem que esta precise ser inteiramente recarregada.
A atualização dinâmica é possível porque a própria interface do usuário (normalmente o browser) processa a resposta, acionando a funcionalidade na sua máquina, sem precisar recarregar todo o arquivo HTML e as imagens da página a cada solicitação ao servidor - embora sempre haja uma ligeira demora devido à velocidade de conexão da rede.
Em outras palavras, o Ajax se baseia em scripts localizados no programa-cliente que solicitam dados localizados ao servidor sem que seja necessário atualizar a página inteira.
A solução é diferente da utilizada em muitos aplicativos web tradicionais, porque quando estes submetem os dados dos usuários ao servidor, este retorna como resposta uma página inteiramente nova. Esta necessidade de gerar uma página nova a cada solicitação torna estes aplicativos lentos e pesados.
Embora o termo Ajax tenha sido mais divulgado a partir de 2005, a tecnologia se refere à integração entre tecnologias de uso tradicional, como controles de HTML, JavaScript, JSP, ASP, .NET, PHP, CSS e componentes de dados baseados em XML.
Como funciona
A cadeia de eventos que Ajax define numa página web funciona assim:
▪ A página web é enviada pelo servidor para o computador do usuário e aparece na tela.
▪ Um gatilho, normalmente acionado pelo usuário, chama uma função JavaScript (como mouseover, por exemplo, ou o comando de um botão para carregar uma página).
▪ A função JavaScript ativa um objeto XML HTTP (XMLHttpRequest), recurso já implementado nos browsers, primeiro no Internet Explorer e depois no Mozilla/ Safari.
▪ O objeto XML HTTP envia a requisição em tempo real para uma página no servidor, invisível ao usuário, que continua atuando no programa sem interrupção.
▪ A página no servidor transforma uma estrutura XML em XSLT e retorna o resultado.
▪ A função JavaScript aceita o resultado e o aplica diretamente na página.
■ Existem vários pacotes para criar funcionalidades Ajax diretamente em Javascript, como o Script.aculo.us (http://script.aculo.us), que facilita incluir efeitos como arrastar e soltar elementos e abrir e fechar seções da página, por exemplo
Aplicações
■ O uso de Ajax aponta para importantes tendências de desenvolvimento de criar, no browser, funcionalidades comparáveis às dos programas que rodam nos sistemas operacionais dos computadores pessoais.
Por exemplo:
-> O Writely (adquirido pelo Google em março 2006), hoje GoogleDocs, é um programa online para edição de textos, que permite que os participantes editem e arquivem textos online. Os autores podem compartilhá-los com colegas e amigos.
-> Outro programa online é o gOffice, da Silveroffice, um programa editor de textos com recursos de formatação. A empresa está desenvolvendo uma planilha e um programa de apresentação, que poderão ser convertidas para o o formato PDF (TechRepublic, 12.1.2006).
■ Os aplicativos baseados em Ajax são indicados principalmente para prover informações atualizadas frequentemente (como as de serviços de logística, contabilidade e CRM, por exemplo) e informações compartilhadas com múltiplos usuários, como planilhas de preços, relatórios e informações sobre projetos. Representam grande economia de custos para empresas com atuação dispersa em diversas áreas geográficas.
Podem ser hospedados em qualquer servidor web, rodar em qualquer plataforma e ser atualizados (com upgrades) dinamicamente.
Podem também ser acessados por qualquer computador conectado à web e por dispositivos portáteis. Permitem o arquivamento online de documentos (ao invés do arquivamento no disco rígido ou na rede corporativa).
■ O uso de Ajax passa a exigir novas abordagens para a avaliação das estatísticas de acesso dos web sites, na medida em que permite que as ações dos usuários atualizem o conteúdo sem que as páginas sejam recarregadas.
Como o número de páginas visitadas (pageviews) registrado cai muito e não revela com precisão o que os visitantes estão procurando, os sites que monitoram o número de cliques para estabelecer preços para os anúncios publicados precisa ser revisto.
Assuntos relacionados
► CRM (Customer Relationship Management)
► XHTML - Separar forma e conteúdo
► Javascript
► Acessibilidade
► Serviços web.
Referências
► Implementing AJAX using ASP.NET 1.1 (15Seconds, acesso em 5.6.2005)
► AJAX: usable interactivity withremote scripting (SitePoint, acesso em 14.7.2005)
► Ajax (programming) (DigitalWeb, acesso em 4.11.2005)
► Will AJAX replace the desktop? (developer.com, acesso em 7.1.2005)
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