Quem está acostumado à banda larga só usa conexão discada nos seus piores pesadelos. Uma vez acostumado a uma boa velocidade de conexão, é impossível voltar atrás.
Mas mesmo com conexões rápidas, diversas aplicações para web tornam–se entediantes no processo tradicional: clica, espera, vê o resultado; clica em outro link, espera, vê outro resultado.
Utilizado por empresas como Google, Microsoft e Yahoo, o Ajax é um conceito que nasceu para corrigir este problema.
Mas o que é o Ajax afinal?
Ajax é uma sigla para Asynchronous JavaScript and XML. Mas mesmo traduzindo asynchronous para assíncrono, a sigla não ajuda muito.
O conceito basicamente é fazer um site de forma que o usuário tenha uma experiência assíncrona, ou seja, faça várias coisas ao mesmo tempo, navegue em vários conteúdos ao mesmo tempo, sem ter que esperar enquanto o site processa as informações para executar outra ação. A cada novo conteúdo pedido pelo usuário nem sempre será preciso carregar outra página ou a mesma página outra vez.
Falando mais simples, Ajax é a internet mais gostosa de usar, sem tempos de espera sem sentido e com muito mais possibilidades de interação do que se tem no processo convencional.
A receita de Ajax
Segundo os criadores do termo, o pessoal da adaptative path, Ajax não é uma tecnologia, é uma forma de fazer um site utilizando diversas tecnologias. A receita de um bolinho de Ajax, para se comer com café bem quente numa tarde chuvosa é a seguinte:
– Web standards e CSS. Sites preparados conforme os padrões da w3c (World Wide Web Consortium) e utilizando a tecnologia CSS, que separa o que é programação, o que é conteúdo e o que é estilo visual.
– DOM (Document Object Model). Padrão de estrutura do html para que a programação encontre o que precisa dentro de uma página sem problemas.
– XML (Extensible Markup Language). Um padrão linguagem para tornar mais fácil a transferência de dados entre um banco de dados e outra interface qualquer.
– XML Http Request. Um pacotão de ferramentas de programação (nada pra se comprar, coisa pros programadores aprenderem e usarem) que viabiliza os dados irem e virem de forma assíncrona.
– E uma boa dose de JavaScript, para dar liga.
São estes os elementos, as tecnologias, que compõem o Ajax.
Complicado? Coisa só pra programador? Conheço muitos programadores empolgadíssimos com essa idéia, mas o o pessoal de design, comunicação, redação, etc (o pessoal de etc sempre reclama de não ser citado), precisa conhecer e saber o que é o Ajax?
Bem… Eu não sou programador, sou designer. No escritório onde trabalho, estamos programando muita coisa com Ajax e eu te digo: sim, se você trabalha com web, você deve saber o que é isso.
“Ah… Por que?” Já te digo: Com a possibilidade de acessar dados e interagir com o programa sem sair da mesma página, nós, o pessoal doido da criação, temos muito mais possibilidades.
Exemplos
Quando o usuário clica num “fale conosco”, este botão não precisa enviar o usuário para uma nova página. O formulário pode ser aberto em um quadradinho na mesma página.
Enquanto o usuário digita as informações, o programa já está consistindo os dados; ou seja, se ele digitou “eu não tenho” no campo telefone, o programa avisa que este campo só pode conter números. E avisa quando ele termina de digitar, e não só depois que ele clica em enviar.
E quando ele termina de digitar e envia o formulário, já com todos os dados corretos, você não precisa fazê–lo esperar que outra página seja carregada somente para dizer “Parabéns, você conseguiu enviar um simples formulário sem fazer nada muito errado, responderemos assim que terminarmos o nosso café”. Esta mensagem pode aparecer instantaneamente no mesmo quadradinho que você abriu para mostrar o formulário.
Bobagem? Impacta o desenvolvimento?
Talvez. Se de um jeito ou de outro você precisa sempre mostrar outra página, talvez você não precise usar o Ajax. Vale lembrar que a utilização de Ajax aumenta bastante o tempo de planejamento de um site, já que tudo que vai acontecer tem que ser exaustivamente discutido antes que o programador comece a fazer o site. Usando esta tecnologia o site pode ficar bem mais caro.
Mas para aplicações como o Gmail, o Ajax é fantástico. No Gmail, quando você clica em uma mensagem, ele carrega somente esta mensagem. Mas mostra em abas fechadas todas as conversas relativas àquela mensagem.
Somente quando você clica em uma destas abas é que ele vai até o banco de dados e traz o texto. Mas você não percebe isso porque ele não recarrega a página, apenas coloca um “loading” no cantinho da tela e já–já mostra aquela mensagem. Se o Gmail tivesse que carregar todo o texto de todas as mensagens que ele abre em abas, você esperaria muito, muito mais até carregar o e–mail que você quer ler. Esse é o poder do Ajax.
Uma boa idéia para o uso do Ajax são os novos buscadores, ainda em fase beta: Google Suggest e Yahoo Instant Search. Neles você recebe sugestões de resultados enquanto digita a sua busca, sem que a página seja recarregada.
Outra novidade genial que só é viável usando Ajax são as home pages pessoais. O Google (http://www.google.com/ig ) e a Microsoft (http://www.start.com/ ) fizeram cada um modelos de home pages pessoais. Nestas páginas, depois de se logar, você pode configurar o que você quer que apareça. Pode inserir feeds de RSS, bookmarks, ver as últimas mensagens no seu e–mail e mover as caixas de conteúdo sem que a página seja recarregada o tempo todo.
Tudo isso só acontece quando a programação vai ao banco de dados, faz uma pesquisa e volta para exibir dados na sua tela que não estavam lá antes, enquanto você fazia alguma coisa nesta mesma tela, onde agora são exibidos resultados sem que a página toda seja carregada de novo.
Previsões à parte
É muito difícil dizer se o Ajax vai realmente dominar a internet do futuro. Este jeito de trabalhar ainda é muito recente, nós não temos distanciamento histórico nem amadurecimento da tecnologia que permitam uma reflexão consistente.
Mas, desta forma ou de outra, trabalhar de forma assíncrona é a diferença entre uma revista ou jornal, onde você muda de páginas para ver os diversos conteúdos, e a internet, onde você interage com o conteúdo.
O Ajax também diminui muito a distância entre as possibilidades de programação para desktop e as possibilidades para web. Muitos aplicativos que foram consagrados no desktop já estão migrando para a web com muito sucesso. Dizem que o Google está fazendo algo assim para concorrer com o Office da Microsoft. Quem pode saber o que acontecerá?
Talvez a nossa internet ainda seja um macaco, pulando de galho em galho enquanto as próximas gerações poderão falar ao telefone, usar um palm e mascar chiclete sabor “uva banana e kiwi” enquanto pulam de galho em galho. O futuro dirá. Ou nós diremos a ele? [Webinsider]
Gilberto Alves Jr.
Gilberto Jr (gilbertojr@gmail.com) tem experiência no mercado digital como designer de produtos, fundador de duas startups, gerente de projetos em agências digitais e gerente de produto no Scup. Agora procura um novo desafio. Veja mais no Linkedin.
6 respostas
Sou programador e há pouco mais de um ano programo para a ambiente web. Desde o inicio utilizo a filosofia do Ajax e pra ser sincero acho que muita das coisas que faço não daria pra fazer sem! Graças a esse conceito já transferi alguns sistema desktop para web sem causar muito impacto para os usuários.
Tive sim que aprender javascript sim mais eu não me arrependo disso. Para eu ser sincero as aplicações não se tronaram pesadas por eu usar um pouco do recurso do cliente até porque eu evito submeter os minhas paginas. Tenho que admitir que uso e abuso do xmlhttpresquest e XML para fazer a transferência de dados do servidor para o cliente e vise versa chegando ao ponto de não precisar submeter as minhas paginas.
Agora é importante ressaltar que para entender esse processo devesse deixar a mentalidade de que o nosso servidor apenas um gerador de conteúdo e trabalharmos ele como um servidor de dados; pois assim com os dados no cliente você pode através do javascript altera o conteúdo da pagina e não carregar a mesma pagina varias vezes.
Sei que é difícil mudar uma filosofia de trabalho, porem se começarmos a usar os nossos servidores mais como fonte de dados do que fonte de conteúdo vai ganhar muito em rendimento até porque estaremos mais perto do que a de melhor nos dois mundos.
Vamos ter a portabilidade da web e a dinâmica de uma aplicação desktop; pois afinal das contas é assim que funciona uma aplicação desktop. Muito se fala em tornar a web em algo mais interativo, no entanto se mantermos a idéia de que ela só pode passar conteúdo. Vamos estar fadados a sempre termos dados isolados no servidor e clientes que ficam esperando uma resposta de um servidor bem distante.
realmente…
vou ter que aprender javascript…
só faltou falar que boa parte destas implementações usam recursos da máquina cliente, não da máquina do servidor… ou sejam, javascript é serverside, embora as consultas sejam feitas de forma assíncrona com o servidor, elas são retornadas/organizadas com a memória do internauta…
estou muito interessado neste assunto, pois desenvolvo video-aulas e preciso de informações concretas sobre ajax
Bom artigo,
Falo um pouco sobre AJAX no meu blog também. Vale consultar: http://ponto-t.blogspot.com/2006/08/desvendando-o-ajax.html
Muito bom o artigo. Há tempos temos trabalhando na implementação destes conceitos, de modo inconsciente, em nosso aplicativo online de gestão de projetos, serviços, processos e obras http://www.bitavel.com/gol e o artigo nos ajudar e ter maiores diretrizes de ação.
Abraços,
Flavio Tongo