LOGIN:

iMasters | Por uma internet mais criativa e dinâmica

Feeds

Terça-feira, 30/09/2008 - 11:00 - Por Alantiel Freire Marins
Seções relacionadas:

Vantagens e Desvantagens do uso de AJAX - Aspectos Práticos

Olá a todos. Esse artigo foi muito solicitado após a publicação do artigo anterior (http://imasters.uol.com.br/artigo/9903/ajax/vantagens_e_desvantagens_no_uso_de_ajax/) e oferece uma abordagem mais prática ao tema.

O AJAX é uma das tecnologias atuais mais polêmicas em relação ao seu uso, pois cada desenvolvedor possui sua forma de aplicação, seu framework preferido e forma de desenvolvimento.

Com isso, temos os infinitos itens de vantagens e desvantagens de seu uso prático.

Nesse artigo tentarei explicar alguns desses itens.

Existem inúmeras linguagens de programação distintas e cada uma com sua característica própria que a deixa melhor ou pior que outras linguagens em relação a um requisito de software. Com o AJAX não é diferente, pois o JavaScript, que é a linguagem por trás dela, tem muita coisa que podemos analisar.

Como vantagens práticas do seu uso, temos as seguintes:

Aumento significativo na velocidade do site - Quando estamos buscando apenas dados do servidor e atualizando apenas a uma parte específica do site, estamos economizando significativamente a banda utilizada do servidor, ainda mais quando temos um layout complexo e com muitas imagens.

Melhor experiência do usuário - Um site projetado com os diversos recursos oferecidos pelo AJAX é um site rico, pois o AJAX explora muito bem os recursos que o browser disponibiliza, já que o JavaScript é uma linguagem client-side (lado do cliente).

Flexibilidade para escolha da linguagem server-side (lado do servidor) - Não podemos deixar de citar essa importante característica, pois é uma grande vantagem também. Com o AJAX temos total liberdade de escolha sobre que tecnologia utilizar para a regra de negócios do projeto. Por exemplo podemos usar Java ou PHP, entre outras linguagens, para manipulação do banco de dados e posterior entrega de dados para o JavaScript tratar.

E como principais desvantagens práticas temos:

  • Utilização de um framework às vezes impossibilita a utilização de outro - A existência de inúmeros frameworks para desenvolvimento com AJAX é interessante, mas precisamos ter cuidado com incompatibilidades entre dois frameworks distintos. Por exemplo, se estamos usando o JQuery como framework, temos o símbolo cifrão ($) para manipulação do DOM, o que a Prototype também usa. Ou seja, se colocamos os dois na mesma aplicação, ficariam em conflito. É certo que temos maneiras de contornar isso, mas sabemos que seria uma gambiarra para esse problema específico, sendo que o mais certo é um estudo aprofundado sobre os principais frameworks para a escolha de um que satisfaça os requisitos do projeto.
  • Botões de "avançar" e "voltar" do navegador - Esse certamente é um grande desafio quanto ao uso. Quando usamos AJAX para o sistema inteiro, estamos criando um aplicativo (diferentemente do modelo de páginas antigo), muito parecido com aplicativos desktop, ou seja, todo o sistema será manipulado pelos eventos dos elementos, como o clique em um link ou o mouseover em uma imagem, mas isso sem o redirecionamento a cada ação, então quando o usuário do site aperta um dos botões de navegação (voltar e avançar), não voltará ao ´conteúdo´ visitado anteriormente, mas sim à página visitada anteriormente.
  • Para solucionar isso podemos utilizar alguns frameworks como o JQuery que possuem ferramentas úteis para a manipulação de históricos de páginas. Ou seja, a cada evento ocorrido na mudança de conteúdo ele automaticamente adiciona um "momento" no histórico. Logo, quando o usuário aperta os botões de navegação voltará exatamente onde quer. Outra opção é criarmos sistemas com links comuns para sistemas em AJAX, por exemplo um link home e um link empresa, cada um apontando para o respectivo aplicativo AJAX. Isso faz com que alguns históricos sejam pulados mas o usuário se mantém dentro do contexto do sistema. Essa é a abordagem da maioria dos sistemas AJAX, até mesmo aplicações como Gmail, ou Google Docs.

  • Não possuir um padrão de codificação - Como disse no início do artigo, cada linguagem possui suas características. Mas sempre é bom compararmos o que há de melhor nas outras linguagens, então, como um comparativo iremos usar o Java. O Java possui uma convenção de nomenclatura, que é usada por toda a comunidade e ajuda na reutilização de código, tanto por terceiros como na própria organização que fez. Isso é uma boa prática a ser seguida, não apenas com o JavaScript do AJAX, mas com muitas outras linguagens, pois facilita muito na manutenção e na distribuição de códigos.

Esses são os principais itens sobre a abordagem prática e já são suficientes para a reflexão e entendimento do uso do AJAX que é uma tecnologia muito profunda, pode ser complexa quando não utilizada corretamente, mas se utilizada com o planejamento devido, rende e muito no desenvolvimento de sistemas.

Todos os artigos de Alantiel Freire Marins

14 comentários publicados

  • 1. Gostei do seu post

    Terça-feira, 30/09/2008, por Luiz Paulo Dos Prazeres Júnior

    O seu post está bem legal, parabéns!

    Sobre utilização de vários plugins, concordo que devemos tomar cuidado, vários frameworks utilizam o "$" como chamada. Expecificamente o seu exemplo existe uma saida bem simples. A utilização do "$" é incondicional para o PrototypeJS, mas para o jQuery não (se a variavel "$" já estiver sendo utilizada ele não a substitui). Nesse caso, você pode incluir primeiro o PrototypeJS depois o jQuery. (nesse caso o jQuery seria chapado apenas jQuery(...))

    []'s
    Luiz Paulo

    Responder comentário
  • 2. Obrigado

    Terça-feira, 30/09/2008, por Alantiel Freire Marins

    Que bom que gostou.
    Boa observação em relação ao $, por isso mesmo que precisamos entender bem o framework que iremos usar, para não termos supresas desagradáveis depois...
    []s
    Alantiel Freire Marins

    Responder comentário
  • 3. Legal

    Terça-feira, 30/09/2008, por Carlos Sá

    Gostei, muito bom...

    Eu, particularmente, utilizo ajax no braço mesmo, evito o uso de frameworks, acho q muito gente torce o nariz pra esse detalhe.
    Com relação aos botões de avançar e voltar do browser tb concordo, pois o usuario comum ja ta com esse costume q adquiriu antes da WEB 2.0, no caso de um sistema o ideal seria uma breve e suscinta explanação a respeito do uso do sistema, mesmo assim ainda teremos problemas...

    Responder comentário
  • 4. Obrigado

    Terça-feira, 30/09/2008, por Alantiel Freire Marins

    Uma questão interessante é: usar ou não frameworks... para isso não há regras, depende do tamanho do projeto, de tempo utilizado no desenvolvimento e, é claro, de gosto.
    []s
    Alantiel Freire Marins

    Responder comentário
  • 5. ...

    Quarta-feira, 01/10/2008, por Igor Escobar

    Só para constar, AJAX é uma técnica, e não uma técnologia.

    Responder comentário
  • 6. ...

    Quarta-feira, 01/10/2008, por Alantiel Freire Marins

    Exatamente, no artigo explico isso melhor

    Responder comentário
  • 7. ops

    Quarta-feira, 01/10/2008, por Alantiel Freire Marins

    coriijindo a mensagem anterior...
    no artigo anterior expliquei isso melhor..

    Responder comentário
  • 8. Como fazer?

    Quarta-feira, 01/10/2008, por Raphael França Marques

    Você cita:
    "Para solucionar isso podemos utilizar alguns frameworks como o JQuery que possuem ferramentas úteis para a manipulação de históricos de páginas. Ou seja, a cada evento ocorrido na mudança de conteúdo ele automaticamente adiciona um "momento" no histórico."

    Onde posso achar tutoriais sobre esta manipulação de histórico? alguma sugestão?

    Responder comentário
  • 9. O Yahoo! eliminou uma desvantagem

    Quarta-feira, 01/10/2008, por Danilo Augusto

    Com a biblioteca de interface do Yahoo! é possível trabalhar com ajax e flash e poder "avançar" e "voltar" no navegador, salvar nos favoritos, etc.

    []s

    Responder comentário
  • 10. @Raphael

    Quarta-feira, 01/10/2008, por Alantiel Freire Marins

    Estou fazendo exatamente esse artigo, até a semana que vem (espero) postarei aqui no iMasters...
    Existem algumas bibliotecas como a citada pelo Danilo (do Yahoo!) que auxiliam, irei mostrar a do JQuery, que acho mais simples...
    Aguardem...

    Responder comentário
  • 11. @Alantiel

    Quarta-feira, 15/10/2008, por Raphael França Marques

    Otimo saber, eu ia perguntar exatamente se tinha como fazer com jquery, que acho bem mais prático.
    Ficarei no aguardo Alantiel :D

    Responder comentário
  • 12. olá

    Quarta-feira, 15/10/2008, por Alantiel Freire Marins

    Olá Raphel,
    O artigo já foi enviado, nessa semana será publicado...

    Responder comentário
  • 13. Outras desvantagens

    Terça-feira, 18/11/2008, por Daniel Castro Machado

    Existe outras desvantagens do uso do Ajax:
    1.) Para o programador: A lógica do desenvolvimento fica um pouco mais complexa.
    2.) Para o usuário: O link não necessariamente corresponde ao estado atual da página. Se o cara quiser fazer um bookmark ou enviar algo que achou interessante para um amigo pode haver problemas pois o link aponta para o último redirecionamento feito.

    Responder comentário
  • 14. Outras desvantagens

    Quarta-feira, 19/11/2008, por Alantiel Freire Marins

    Olá Daniel,
    Creio que para o primeiro item citado, o uso de frameworks facilitam bastante, claro que hoje em dia as aplicaçõe estão ficando cada vez mais robustas, e isso também do lado do servidor, então de qualquer forma tende a ser mais complexa.
    Para resolver o segundo item, existem formas de fazer a leitura de querystring com o javascript, a partir daí podemos criar uma lógica para direcionar o usuário apartir da url acessada, é bem mais custoso, mas as vezes é necessário.
    Obrigado pelo comentário.

    Responder comentário

Poste um comentário


Os textos publicados neste espaço são de responsabilidade única de seus autores (colunistas e leitores) e podem não expressar necessariamente a opinião do iMasters.

Sobre o autor

Alantiel Freire Marins é Desenvolvedor Web há mais de 4 anos, representante da Fatec Zona Sul na maratona brasileira de programação por dois anos consecutivos. Estudante de Algoritmos e Estrutura de dados, atualmente é webmaster do UOL.


Indique para um amigo

captcha

TI SHOP Produtos iMasters

  • Lançamento: CD-ROM Treinamento Aplicado de SQL - Lançamento! Treinamento Aplicado de SQL - Aprenda a trabalhar com SQL com bancos de dados Oracle e SQL Server. São mais de 100 tópicos explicados por Mauro Pichilliani, um articulistas mais lidos do iMasters. Aproveite! Apenas R$ 69,90 no TI SHOP.
  • Lançamento: Livro iMasters "O Encontro de 2 Mundos"- Este livro conta com 56 crônicas de profissionais mais admirados e influentes do mercado brasileiro de Internet. Aproveite o preço especial para leitores do iMasters. Apenas R$ 40,00 e envio imediato!
  • DVD Curso Completo de Photoshop - Do conceito à finalização Lançamento! Curso Completo de Photoshop, em DVD, com mais de 230 aulas dividas em 4 módulos: conceito, básico, avançado e finalização. Apenas R$ 69,50 no TI SHOP - Frete com 50% de desconto
  • DVD Javascript Starter - Curso Completo Com mais de 9 horas de vídeo-aulas, é um curso completo sobre Javascript. Ideal para quem deseja aprender a linguagem. Apenas R$ 64,90 no TI SHOP - Frete com 50% de desconto!

2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.