Tal vez lo estoy haciendo mal, pero en mi experiencia, desarrollar y mantener aplicaciones web basadas en ajax es mucho más difícil que una aplicación web "más estándar".
No estoy hablando de una aplicación que use ajax para cargar algunos datos aquí y allá, pero el estilo donde la página que envía el servidor es solo un marco, y todos los datos se completan en el momento de la carga.
Me encantaría saber de aquellos con experiencia en el desarrollo de este tipo de aplicaciones. Mi experiencia personal es que tardan más horas en construir y mantener.
Respuestas:
Diría que desarrollar y mantener una aplicación que usa JavaScript es una tarea más compleja y desafiante que desarrollar aplicaciones web "clásicas".
La razón de esto radica en el simple hecho de que cuanto más heterogénea sea la tecnología utilizada, más difícil será el trabajo.
En este caso, con JavsScript, lo que básicamente tenemos es programar contra una salida de servidor automatizada, que por sí sola es una idea extraña. Las páginas de las aplicaciones web dinámicas se generan en el servidor utilizando algún lenguaje de programación. En el lado del servidor, obtienes todos los dulces, como la verificación de sintaxis, la verificación de tipos, todo tipo de análisis automatizado y herramientas de refactorización a tu disposición.
JavaScript funciona en el otro lado de la cerca, donde no hay información sobre las grandes cosas que suceden en el servidor. JavaScript funciona contra un marcado generado automáticamente que es bastante volátil y está sujeto a cambios. Es por eso que un desarrollador debe prestar atención para mantener ambos sincronizados. Cuanto más grande es una aplicación, más difícil se vuelve la tarea. Y esa tarea es típicamente un trabajo manual que no se puede automatizar lo suficiente como para escalar sin problemas con su aplicación.
Por lo tanto, sí, las aplicaciones ricas en JavaScript son más difíciles de mantener.
fuente
Considero que a largo plazo mis aplicaciones ajax (todas las intranet) son más fáciles de mantener porque me parecen mucho más modulares. Por ejemplo, si tengo una página que luego carga otro contenido en contenedores, ese mismo contenido puede reutilizarse fácilmente y representarse en otro lugar. El código fuente de cada pieza está en diferentes archivos para las vistas y métodos en el controlador, lo que hace que la depuración / mejora sea una tarea más fácil. Realmente dependería de cómo estás usando AJAX y cómo estás configurando tus aplicaciones.
fuente
La dificultad es principalmente una cuestión de experiencia. Si no tiene experiencia en el mantenimiento de aplicaciones web basadas en AJAX, entonces sí: es más difícil.
Sin embargo, parece haber más complejidad en un modelo de interfaz de usuario con capacidad de reenvío que uno con un solo renderizado, como una página web tradicional servida a través de una sola solicitud. Esto es cierto por varias razones:
fuente