Javascript

Desvantagens do Javascript

Atualizado em 10.2.2007

Embora seja uma linguagem universalmente aceita para desenvolvimento web, o Javascript tem algumas desvantagens:

Acessibilidade limitada - usuários que utilizam browsers para usuários com deficiência física (programas de leitura de tela ou para navegação sem mouse) ou browsers com Javascript desabilitado têm dificuldade de utilizar os recursos de navegação. As boas práticas apontam para a necessidade de se prever funcionalidades alternativas para estes usuários.

Para atendê-los, pode-se usar a marcação <noscript/> próxima à marcação <script />. Browsers que reconhecem JavaScript ignoram esta marcação, mas o que não reconhecem mostram o conteúdo de <noscript />, que pode ser, por exemplo:

<noscript>O seu browser não permite a visualização deste efeito que abre uma janela com uma mensagem publicitária<noscript />

De qualquer forma, é importante, no desenvolvimento do web site, que este possa funcionar sem JavaScript, ou em outras palavras, que sua funcionalidade não se baseie exclusivamente nestes recursos.

Usabilidade ruim - por exemplo: pop ups que aparecem automaticamente, menus que escondem as opções de links, textos animados que podem irritar o usuário.

Pode apresentar superposição de funcionalidades em relação aos estilos CSS - como mouse over, por exemplo, que tanto pode ser obtido com um o outro recurso. A aplicação dos dois recursos ao mesmo objeto pode gerar conflito.

Funciona de maneira diferente em diferentes browsers, devido às diferenças de versões.

Muitas vezes os scripts assumem que o browser do usuário funciona de uma maneira e, se isto não acontece, o acesso a uma página ou site fica inviável.

O script deve, antes de se tornar ativo, verificar o ambiente do usuário (configurações de hardware e software) para executar as instruções do script.

Na busca por um determinado objeto, por exemplo, ao invés de assumir que o browser entende um método utilizado, como document.getElementById, deve-se testar a sua existência antes de aplicar o script.

O mesmo se aplica ao documento em si. Deve-se checar a existência de um elemento através da sua id (identificação) antes de tentar trabalhar com este elemento.

Não permite a coleta de informações dos usuários e a sua comunicação para outros dispositivos ou programas.

Não permite a criação ou edição de arquivos no dispositivo do usuário (com excessão de cookies).

Capacidade de operação limitada, devido a restrições de segurança - Como JavaScript opera com dados e programas do usuário, não pode interferir nas configurações do sistema operacional do usuário, como afetar diretamente o dispositivo ou ativar programas instalados.

Também não pode alterar o layout de uma página ou arquivo com origem em outro domínio.

Capacidade de operação limitada pelo próprio usuário, nas opções dos browsers - Muitos usuários desabilitam scripts nos seus programas navegadores para abrir janelas (pop-ups), para escrever textos na barra de status, para operar com o botão direito do mouse.


Assuntos relacionados
Acessibilidade : Apresentar soluções abrangentes - inclusão de usuários com problemas motores, visuais, cognitivos
Usabilidade - autonomia orientada
Ajax

Referências (Recursos técnicos - para web sites)
Professional Javascript for web developers: Javascript in the browser, Pt. 1 (WebReference, acesso em 20.6.2005)
Jeremy Keith, entrevista (Digital Web, acesso em 12.10.2005)

Avellar e Duarte no Twitter Avellar e Duarte no Facebook