Hablemos sobre el rendimiento y más específicamente sobre el rendimiento web. Y siempre que hablamos de rendimiento web, especialmente en estos días, la conversación generalmente muy rápidamente se desvía hacia cosas como el renderizado del lado del servidor y tal vez incluso el streaming como una forma de hacer que tu renderizado sea lo más rápido y eficiente posible. Ahora, en esta charla, quiero explorar cómo se ve ese panorama del renderizado web en este momento, cómo llegamos allí, algunas de las limitaciones del renderizado tradicional del lado del servidor y el streaming, y luego profundizar específicamente en cómo el streaming fuera de orden resuelve algunas de esas limitaciones para que, con suerte, al final de esto, no solo tengas una idea de qué es el streaming fuera de orden y cómo funciona, sino que quizás más importante, con suerte tendrás una idea de qué problemas realmente resuelve y cuál es la motivación principal detrás de esta tecnología.
Un breve descargo de responsabilidad antes de comenzar. Esta no va a ser una charla en la que te voy a decir que tienes que usar el renderizado del lado del servidor y el streaming fuera de orden, y de lo contrario eres estúpido y estás equivocado. Solo quiero dar algunos detalles sobre cómo funciona y por qué podría ser útil para que puedas irte y tomar una decisión, con suerte, más informada por ti mismo basada en tus proyectos y tu equipo y todos los demás requisitos, cualquiera que sea la mejor solución para ti.
Con eso fuera del camino, comencemos con el porqué. ¿Qué problemas realmente resuelve el streaming fuera de orden? Y para entender eso, necesitamos echar un vistazo rápido a la historia del renderizado web y cómo llegamos a donde estamos hoy. Y tenemos que comenzar desde el principio, lo que yo llamaría los buenos viejos tiempos, con HTML simple y tal vez algún lenguaje del lado del servidor además de eso. Estoy usando PHP aquí, principalmente porque eso es lo que usé cuando comencé. Realmente no importa. Podría ser cualquier otro lenguaje del lado del servidor. Fundamentalmente, todos hacen lo mismo, que es generar ese HTML sobre la marcha.
Entonces, si visualizamos eso, tenemos un navegador que hace una solicitud al servidor para una página específica. Ese servidor luego genera HTML, devuelve ese HTML y el navegador lo renderiza. Y eso es todo. Tiempos mucho más simples, porque ese HTML es puramente estático. Aún no tenemos elementos dinámicos. El tiempo de respuesta del servidor realmente depende de lo que estamos haciendo en el servidor. Así que si solo estamos buscando archivos HTML estáticos, eso es realmente rápido. Cuanto más hacemos en el servidor, digamos que nos conectamos a una base de datos, o estamos obteniendo datos de APIs de terceros, cuanto más hacemos, más lento se vuelve el tiempo de respuesta. Y eso es molesto en la carga inicial, porque estás esperando que ese HTML llegue durante mucho tiempo. Pero se vuelve aún más molesto a medida que navegas por la página, porque cada vez que haces clic en un enlace, tenemos que hacer todo ese ciclo completo nuevamente. Volvemos al servidor, el servidor genera todo el HTML para la nueva página, lo devuelve y luego lo renderiza. Así que esto es realmente frustrante para las páginas donde hacemos más en el servidor. Así que intentamos resolver ese problema introduciendo JavaScript. Específicamente, esta es una especie de era de jQuery y la introducción de tecnologías como AJAX. Así que estamos hablando de alrededor de 2006 aquí. Y la idea era que con JavaScript, A, podemos hacer que nuestras aplicaciones sean más interactivas y dinámicas. Así que ahora, cuando estamos solicitando una página, todavía estamos volviendo al servidor, el servidor todavía devuelve HTML estático, pero ahora el servidor también puede devolver un archivo JavaScript.
Comments