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).