Ajax – introduzindo outra visão

AjaxQuando se fala em AJAX, a primeira coisa que vem a mente na maioria dos casos é aquelas firulinhas de fade, animação e bobagens do gênero. Recentemente, vi uma aplicação que, pela descrição do autor, era um site em AJAX. Entrei no site e vi um monte de animações em HTML. Clica aqui, abre uma janelinha, clica ali, o conteúdo faz um fade e a imagem cresce. Tudo muito bonito, um design legalzinho, mas até onde meu bugzilla podia me informar, não havia uma única chamada para o servidor…

Quando indaguei sobre esse "fenomeno", o desenvolvedor me disse que as páginas principais carregava tudo necessário em uma única paulada, para ficar "melhor pro cliente". Parei para pensar um pouco, não era a primeira vez que ouvia tal argumentação, nem, acredito eu, será a última. O conceito do desenvolvedor era simples, joga tudo na máquina do usuário e deixa ele processar a informação.

Deixei a discussão e fui refletir um pouco… AJAX para mim não tem relação nenhuma com as animações e viadagens em geral. Ajax para mim tem como única finalidade, enviar e buscar dados. Claro que se você usa um jQuery da vida para fazer suas chamadas de AJAX (como é o meu caso), você acaba levando de bonus, um monte de ferramentinha que permite você fazer essas boiolíces… porém, na essência, o AJAX é um envia e recebe de dados, só isso.

Agora que determinamos o que é o AJAX em termos "teóricos", vamos ao que este artigo realmente quer tratar…

O AJAX permite fazer chamadas assíncronas, ou seja, você pode carregar sua página, e chamar de dentro dela, várias outras informações, sem ter que ficar carregando a página inteira. Um exemplo besta; Seu site tem uma lista dos últimos 5 posts. Quando o usuário clica no "próxima", você faz uma chamada AJAX que solicita os próximos 5 itens da lista, sem ter que recarregar a página inteira.

Vamos tomar como base este exemplo… o que isso significa para quem está navegando no seu site?
Ao clicar no próxima, o usuário precisa buscar somente a informação dos próximos 5 itens, ou seja, ele navega mais rápido pois ele precisa receber menos dados.

Pro seu servidor, isso significa que ele precisa enviar menos dados, logo, a princípio, tudo aparenta ser um mar de rosas…

Como já diz a regra, qualquer coisa em excesso é prejudicial a saúde, como AJAX, talvez não seja prejudicial para a sua saúde, mas com certeza, pode acabar se tornando prejudicial para o seu site e servidor.

Tem casos onde se abusa do AJAX, fazendo com que todo conteúdo seja carregado em pequenas partezinhas. Uma página abre centenas de requests ao servidor, essencialmente criando uma enxurrada de solicitações de conexão. Imaginem isso num cenário de um site que recebe 1500 visitas por hora? Se cada um desses usuários abrir 100 conexões, isso são 150mil conexões por hora no seu servidor… é hit pra caramba… Imagine ainda que cada uma dessas solicitações faz um request de banco… agora a casa caiu de vez…

Bom, acho que já deu pra perceber a possível bucha que vai ser esse negócio.

Aí você deve estar se perguntando… quando é demais? Quando é de menos? Qual a medida certa de ajax? e eu lhes respondo: DEPENDE.

Depende do que?

Cada projeto tem suas exigências e peculiaridades. Alguns prezam pelo design, outros pela segurança, outros pelo conteúdo. Porém, todos tem uma coisa em comum; eles devem funcionar de forma estável.

Determinar o volume de chamadas ao servidor, a quantidade de informação trafegada e estimar um número de visitantes são apenas algumas das informações que lhe ajudam a definir como será feito o seu site.

Bom, agora que você começou a ter uma idéia da dimensão do problema, vou deixar você pensar um pouco, refletir sobre como sua decisão de utilizar AJAX no seu site pode causar tanto um impacto positivo quanto negativo para seu servidor. Tenho certeza que você terá bastante para pensar.

Nos próximos artigos, vou começar a explorar um pouco a utilização do AJAX em aplicações reais. Apontar alguns problemas de aplicações de AJAX e como podemos solucioná-las com um pouco de planejamento e conhecimento. Espero que no fim dessa série, você possa, independente das tecnologias que você utilizar, ter um site que usa o AJAX de forma consciente e positivia.

Compartilhe:
  • Print
  • email
  • Add to favorites
  • Digg
  • StumbleUpon
  • Yahoo! Buzz
  • Google Bookmarks
  • FriendFeed
  • Slashdot
  • Tumblr
  • LinkedIn
  • del.icio.us
  • Google Buzz
  • Ping.fm
  • Facebook
  • Twitter

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

Back to top

Page optimized by WP Minify WordPress Plugin