Ajax: mejores prácticas / enfoque para cargar datos terciarios

Tengo algunas dificultades para establecer un enfoque para cargar datos adicionales en una aplicación que estoy construyendo. La aplicación es un CMS en el que una sola página consta de muchos fragmentos, algunos reutilizables, otros exclusivos.

Un ejemplo de un fragmento exclusivo podría ser una metaetiqueta de descripción / autor, mientras que un fragmento reutilizable podría ser una lista de enlaces.

Mi enfoque actual es cargar los datos esenciales que componen la mayor parte de la página, por ejemplo, contenido del cuerpo principal, título, slug, fechas (publicación / vencimiento / modificado). Una vez que se carga esa parte y la interfaz de usuario está lista, cargo 2 conjuntos de datos adicionales: una colección de metaetiquetas; una colección de fragmentos.

Mis atribuciones son: 1. Escalabilidad 2. Velocidad 3. Mantenibilidad

¿Mi enfoque es sólido o debería considerar otro enfoque?

preguntado el 28 de agosto de 11 a las 01:08

1 Respuestas

Supongo que está utilizando AJAX para la carga diferida mencionada anteriormente.

¿Su acercamiento es sólido? La respuesta a su pregunta depende de qué tan rápido se cargue toda la página (incluidos los fragmentos). Tu técnica se utiliza cuando queremos crear la percepción de que la página está cargada para que el usuario psicológicamente no tenga ganas de esperar,

Esa técnica se utiliza cuando se considera que la página completa es demasiado larga para cargarse. Como las medidas de "demasiado tiempo para cargar" son subjetivas, consideremos 8 segundos como ejemplo. Si la página completa tarda 8 segundos en cargarse y la página parcial, como el cuerpo principal, etc., tarda 3 segundos, entonces es aconsejable cargar esa parte primero para que el usuario psicológicamente no tenga ganas de esperar 8 segundos.

En cuanto a sus 3 criterios:

  • Escalabilidad: La carga diferida aumentaría el número de llamadas http al servidor y, por lo tanto, introduciría cargas adicionales en términos de número de llamadas totales al servidor, así como la posibilidad de ocupar el número de conexiones simultáneas. Como tal, la carga diferida introduce una sobrecarga adicional a los servidores. Sin embargo, si su entorno de implementación está agrupado correctamente, no debería causarle ningún problema importante.

  • Velocidad: esto es lo que dije antes. Si toda la página se carga muy rápido, la carga diferida de los fragmentos podría ralentizarla (en términos de segundos totales), ya que está realizando llamadas HTTP adicionales al servidor. En este caso, tampoco está ayudando a la percepción de los usuarios. Sin embargo, si la velocidad para cargar toda la página es larga, entonces la técnica tiene sentido ya que mejora la percepción del usuario de la velocidad, incluso el tiempo total de carga de velocidad es probablemente mayor.

  • Capacidad de mantenimiento: una buena implementación permitiría elegir entre cargar la página completa y en fragmentos con unos pocos códigos simples. Eso significaría que ha escrito un código flexible y mantenible.

Respondido 28 ago 11, 06:08

Vaya, gracias por la gran respuesta, de hecho estoy usando AJAX para la carga diferida. Tal como está, la pantalla particular que estoy cargando representa en 1.3 segundos, incluidos los datos adicionales (solicitudes Ajax). Lo usaré como un punto de referencia de desarrollo medio hasta que pueda ver cómo funciona en un servidor de producción / host compartido. ¡Gracias por la visión de usted! - user916011

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.