Brasil

21 abril 2006 ~ 5 Comentários, deixe o seu »

Não use ajax para navegação

Existe uma discussão grande sobre a utilização do ajax, suas vantagens e deficiências. O recente artigo da Web Insider, “Ajax também enfrenta problemas. Veja quais são.” nos traz algumas desvantagens na utilização do ajax. Não acho que são desvantagens dependendo de como você utiliza a tecnologia.

Se formor analisar, as maiores desvantagens estão relacionadas com a utilização do ajax para navegação, ou seja, você carregar apenas a primeira página completa e fazer de todo link, uma requisição ajax, que carrega apenas o que precisa mudar na tela.

Pelo menos hoje, abril de 2006, eu diria que esta não é uma boa aplicação do ajax. Eu discordo deste tipo de utilização e acho que ajax deve ser utilizado para eventos de uma mesma página, por exemplo, processamento de formulários, validações no servidor, inclusão de um item na página de listagem, etc…

Os links de navegação devem permanecer levando o usuário para uma nova página “completa”. Na maioria dos casos o que permanece igual de uma página para outra é apenas o header e o footer, nenhum deles gastam muita banda nem afetam consideravelmente o tempo de resposta da requisição. Na relação custo/benefício considero que você ganha muito mais abrindo mão desta pequena economia.
É importante ressaltar que isso é válido para páginas bem escritas com o mínimo de código html e principalmente poucas requisições de stylesheets e javascripts.

Vamos simplificar as coisas e desenvolver aplicações simples!

O que você ganha evitando ajax na navegação:

  • Favoritos – Cada página terá seu próprio link, viabilizando a utilização de bookmarks
  • Botões Voltar e Atualizar – O sistema de navegação padrão dos navegadores irá funcionar
  • Logs de acesso do servidor web – Você terá seus logs limpos, prontos para serem analisados pelas ferramentas mais populares.

Eu não tenho certeza se os navegadores e servidores irão se adaptar para aceitar o ajax na navegação. As URIs e o caminho que o usuário percorre entre elas são informações extremamente valiosas para os marketeiros de plantão (lê-se Google, Yahoo, e cia).

5 Respostas para “Não use ajax para navegação”

  1. Danilo Medeiros 23 abril 2006 at 5:26 PM Permalink

    Oi Rafael,

    É possível ter o melhor dos dois mundos! Na verdade estes problemas aos quais você se referiu podem ser evitados caso o site tenha alguns cuidados. No Wasabi temos todas estas funcionalidades – existe uma forma de contornar esse problema usando âncoras – procure no Google a biblioteca js Simple history. Grande abraço e seja bem-vindo.

    Grande Abraço,
    Danilo

  2. Rafa 23 abril 2006 at 10:07 PM Permalink

    Oi Danilo, embora não tenha citado, eu já li em algum lugar sobre a saída das âncoras, porém achei meio “camba” sabe. Eu particularmente, prefiro não usar ;-)

      De qualquer forma, fica a dica para os leitores!

      Abraços

    1. John Paulo Ragner Voloski 15 agosto 2006 at 12:12 PM Permalink

      Gostaria de implementar ajax mas não sei como usar que ferramentas tenho que ter para rodar ajax no meu servidor?

    2. Rafa 17 agosto 2006 at 10:45 PM Permalink

      Olá John,

      Ajax é Javascript puro, você não precisa de nenhuma ferramenta em específico, muito menos configuração no servidor.

      Leia mais sobre XmlHttpRequest.

      Abraços

    3. Alexandre Magno 13 novembro 2007 at 11:25 AM Permalink

      Bem, para se utilizar navegações em ajax atualmente existem vários problemas, muitos podem ser contornados, mas nenhum deles é uma solução simples e que valha realmente a pena implementar. Mas a tecnologia está aí, e cada vez mais pessoas pedem sites totalmente em ajax. Acho que a Web é um berço de novas tecnologias, sendo assim, precisamos descobrir novas soluções até os browsers poderem aceitar bem. Hoje existem muitas limitações por causa de browsers, mas nem por isto deixamos de tentar coisas novas. O ajax está aí e os clientes querem, já tentei explicar das desvantagens, mas com tantos sites usando, fica difícil dizer não…