A programação AJAX permite que você atualize elementos da página dinamicamente. No entanto, o AJAX tem várias desvantagens em relação à exibição da página da web. Estes incluem:
- Eles são mais difíceis de programar. É muito mais difícil fazer programação AJAX e, como conseqüência, as pessoas vão evitá-lo, a menos que seja necessário.
- Eles têm "Lado do cliente" e "Código do lado do servidor". Além de escrever código no lado do servidor para exibir a página, você também precisa escrever um código que seja executado no navegador (Internet Explorer, etc) para fazer as atualizações dinâmicas. Isso leva mais tempo e é mais difícil de entender.
- Padrões do Navegador. Certos navegadores da Web (como o Internet Explorer mencionado anteriormente) se comportam de maneira diferente dos padrões definidos e de outros navegadores da Web (como o firefox). Os navegadores mais antigos podem não funcionar com o AJAX. Os navegadores móveis (em seu telefone) também podem não funcionar com o AJAX ou podem funcionar com um subconjunto do AJAX. Por causa disso, pode ser melhor criar suas páginas da Web de uma maneira que funcione em todos os navegadores e não use AJAX.
- O AJAX ainda é bem novo. Por causa disso, muitos programadores não sabem como criar páginas dinâmicas. Além disso, as páginas / sites mais antigos não terão o AJAX. Finalmente, há atualmente uma falta de treinamento e documentação em relação à maneira AJAX de fazer as coisas.
Eu sinto que alguns desses pontos podem se sobrepor, e alguns dos pontos que eu fiz podem ser um pouco contenciosos. Eu também evitei falar sobre o DOM. No entanto - eu acho que eu tenho o básico.
DOM: Document Object Model. Inserido livremente, define como um programa AJAX localiza o lugar na página para colocar / alterar o novo elemento (por exemplo, um comentário). Novamente, o DOM e como você o acessa difere de navegador para navegador. Quando você ouve as pessoas gemendo sobre o que é um navegador ruim IE6, é porque o acesso ao seu DOM é (a) quebrado (b) difícil de usar e (c) diferente de qualquer outro navegador lá fora.