¿Es más difícil mantener aplicaciones web basadas en Ajax?

8

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.

Erik
fuente
¿Cómo define una aplicación web más estándar?
Chris
uno que no usa ajax para todo? Por ejemplo, las webapps 37signals son decididamente no Ajax, a pesar del hecho de que usan una aspersión aquí y allá
Erik
1
¿Más difícil que qué? ¿Que algo que utiliza tecnologías no estándar pirateadas para lograr los mismos resultados? Si hace que su aplicación sea más compleja (por ejemplo, agregando interactividad dentro de la página), es razonable esperar un aumento en el costo para mantenerla.
Alex Feinman
Específicamente, ¿se pregunta si los tipos de sitios web en los que se usa Ajax tienden a ser más difíciles que los tipos de sitios web que no lo usan, o se pregunta si los sitios web de Ajax son más difíciles que los sitios web que no son de Ajax por la misma funcionalidad?
David Thornley

Respuestas:

6

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
6

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.

Ominus
fuente
1

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:

  • El código de representación se divide entre el código del lado del servidor que realiza la representación inicial y el código JavaScript que realiza la representación del lado del cliente. Esto se puede hacer más fácil, por ejemplo, usando JavaScript en el servidor y en el cliente.
  • En general, es posible que deba duplicar gran parte de su código (por ejemplo, validación) tanto en el cliente como en el servidor.
  • En lugar de procesar directamente los datos en HTML con código del lado del servidor, necesita un controlador AJAX que formatee los datos en JSON y luego más código para formatear el JSON en HTML. Los marcos pueden hacer esto más fácil.
Matthew Rodatus
fuente