sábado, 15 de setembro de 2007

Para não errar a mão - JavaScript/AJAX

Retomando a série de posts sobre desenvolvimento Web, vamos falar sobre a implementação de JavaScript e AJAX no seu site, que deve ser muito bem pensada, atentando a quem será seu público alvo.

Primeiro pensando em um sistema que rodará na Intranet ou Extranet da sua organização, você sabe quem serão os usuários, portanto se você tem a garantia que todos terão uma versão atualizada de seus navegadores, o uso de recursos de JavaScript e AJAX estão totalmente liberados.

Já pensando em um site na Internet, onde qualquer pessoa pode acessar, e todos precisam utilizar os recursos dele você deve planejar que ele funcione independente de o usuário possuir JavaScript ou AJAX no navegador dele, vocês podem estar pensando, todos os navegadores hoje possuem JavaScript, mas ele pode ser desabilitado, e não são todas as pessoas que sabem fazer esse processo de desabilitar e habilitar o JavaScript, então mostrar uma mensagem como: "O JavaScript da sua máquina está desabilitado, para habilitar siga os seguintes passos...", pode afugentar um usuário que mal sabe que existe JavaScript. A solução, JavaScript não obstrutivo.

Como funciona o JavaScript não obstrutivo?! Na nossa série até agora o site foi inteiro criado sem usar nenhum comando JavaScript, essa é a idéia, o site funciona por completo sem precisar de nenhum recurso do JavaScript, ou seja, o JavaScript apenas dá um toque a mais no site, adiciona algumas "firulas". Para fazer isso você deve colocar todo o código JavaScript em um arquivo separado, e nele você carrega as ações do eventos, portanto você não vai definir o evento onClick ou onBlur de nenhum elemento da página durante a criação do elemento, mas sim durante a execução do JavaScript, mais ou menos seguindo esse exemplo:

window.onload = function() {
x = document.getElementById('id_do_elemento');
x.onclick = function () {
executaFuncao();
}
}

Pensando em implementações usando AJAX, você deve sempre fazer uma alternativa ao não funcionamento do AJAX, por exemplo, no famoso caso dos combos de estado e cidade onde o combo de cidade é carregado com base no estado você pode fazer da seguinte forma: no código HTML você cria um combo com o estado e para a cidade você cria um campo de texto simples, depois usando AJAX você retira esse campo de texto e cria um combo para ser carregado de acordo com o estado, assim, mesmo que o visitante da página não possua AJAX, a página irá ser funcional.

Sempre procure testar o seu código JavaScript/AJAX no maior número de navegadores (browsers) possível, e em diferentes versões deles. Afinal, você não quer perder um possível cliente, fornecedor, parceiro, visitante por possuir um site não compatível com o navegador que ele usa.

No próximo post da série irei falar sobre a otimização do site, como alguns detalhes fazem a diferença.

0 comentários: