Talvez eu esteja fazendo errado, mas, na minha experiência, desenvolver e manter aplicativos da Web fortemente baseados em Ajax é muito mais difícil do que um aplicativo da Web "mais padrão".
Não estou falando de um aplicativo que usa ajax para carregar alguns dados aqui e ali, mas o estilo em que a página que o servidor envia é apenas um quadro e todos os dados são preenchidos no momento do carregamento.
Eu adoraria ouvir pessoas com experiência no desenvolvimento desses tipos de aplicativos. Minha experiência pessoal é que eles levam mais horas para construir e manter.
Respostas:
Eu proponho que tanto o desenvolvimento quanto a manutenção de um aplicativo que usa JavaScript é uma tarefa mais complexa e mais desafiadora do que o desenvolvimento de aplicativos Web "clássicos".
A razão disso reside no simples fato de que quanto mais heterogênea a pilha de tecnologia você usar, mais difícil será o trabalho.
Nesse caso, com o JavsScript, basicamente o que temos é programar em uma saída automatizada do servidor, o que por si só é uma idéia estranha. As páginas de aplicativos Web dinâmicos são geradas no servidor usando alguma linguagem de programação. No lado do servidor, você obtém todos os benefícios, como verificação de sintaxe, verificação de tipo, todos os tipos de ferramentas automatizadas de análise e refatoração à sua disposição.
O JavaScript funciona do outro lado da cerca, onde não há informações sobre as grandes coisas que acontecem no servidor. O JavaScript funciona com uma marcação gerada automaticamente, que é bastante volátil e está sujeita a alterações. É por isso que um desenvolvedor deve prestar atenção para manter os dois em sincronia. Quanto maior o aplicativo, maior a dificuldade da tarefa. E essa tarefa normalmente é um trabalho manual que não pode ser automatizado o suficiente para ser dimensionado de maneira uniforme com seu aplicativo.
Portanto, sim, os aplicativos ricos em JavaScript são mais difíceis de manter.
fonte
Acho que, a longo prazo, meus aplicativos ajax (todos da intranet) são mais fáceis de manter, porque me parecem muito mais modulares. Por exemplo, se eu tiver uma página que carregue outro conteúdo em contêineres, esse mesmo conteúdo poderá ser facilmente reutilizado e renderizado em outro lugar. O código fonte de cada peça está em arquivos diferentes para as visualizações e métodos no controlador, tornando a depuração / aprimoramento uma tarefa mais fácil. Isso realmente depende de como você está usando o AJAX e de como está configurando seus aplicativos.
fonte
A dificuldade é principalmente uma questão de experiência. Se você não tem experiência em manter aplicativos da Web fortemente baseados em AJAX, sim: é mais difícil.
No entanto, parece haver mais complexidade em um modelo de interface do usuário com capacidade de renderização do que em um com uma única renderização, como uma página da web tradicional servida por uma única solicitação. Isso é verdade por vários motivos:
fonte