Hola, mi nombre es Sergey Labozy, y soy ingeniero de software en Focus Reactive. En los últimos años, he pasado mucho tiempo explorando el rendimiento web, y en esta charla quiero compartir con ustedes algunas ideas sobre un tema clave. Critical CSS, una forma poderosa de mejorar la experiencia del usuario. En esta charla exploraremos qué es el Critical CSS, cuándo usarlo o no, cómo implementarlo de manera efectiva, y algunos desafíos y casos de uso comunes.
Antes de sumergirnos en el Critical CSS, comencemos desde el principio. Cómo un navegador renderiza una página. Esto involucra la ruta de renderizado crítica, una secuencia de pasos que el navegador toma para convertir HTML, CSS y JavaScript en contenido visible en la pantalla. Vamos a desglosarlo brevemente. Primero, el navegador necesita hacer una solicitud para obtener el HTML inicial. Tan pronto como recibe el primer fragmento de HTML, comienzas a construir el DOM, modelo de objeto del documento. El navegador encuentra el CSS y comienza a construir el CSOM, modelo de objeto CSS. Cuando el DOM y el CSOM están listos, el navegador los combina en un árbol de renderizado, que solo incluye los elementos visibles. Finalmente, ocurren los pasos de diseño y pintura y el contenido aparece en la pantalla.
El objetivo principal aquí es renderizar el contenido lo más rápido posible, pero los navegadores tienen recursos limitados como el tiempo y la CPU. El tiempo es crucial, porque queremos que el usuario vea el contenido lo más rápido posible, lo cual se mide por una métrica vital central llamada largest content to paint, o LCP. Y dado que todo sucede en el navegador del usuario, el uso de la CPU es igualmente importante, especialmente para dispositivos móviles. Añade a esto las velocidades de red y latencias variables. También deberíamos mencionar JavaScript aquí. JavaScript puede modificar dinámicamente el DOM y el CSOM. Manipular el DOM y el CSOM puede ser muy lento. No necesariamente y no en todos los casos, pero no entraremos en eso aquí, solo asumimos que no modificamos el DOM y el CSOM con JavaScript.
Con la comprensión de la ruta de renderizado crítica, acerquémonos a por qué el Critical CSS importa. Hemos visto que el árbol de renderizado necesita tanto el DOM como el CSOM. Sin embargo, a diferencia del DOM, el CSOM no se puede construir de manera incremental. ¿Por qué? Porque CSS es en cascada, lo que significa que el orden de las reglas CSS afecta su especificidad. La última línea de CSS podría anular todos los estilos anteriores. Esta es la razón por la cual el navegador no puede aplicar CSS parcialmente. Primero debe descargar, analizar y entender toda la hoja de estilo para evitar destellos de contenido sin estilo. ¿Cómo agregar CSS a HTML? Hay dos formas principales de agregar CSS a tu HTML. Estilos en línea usando etiquetas de estilo o hojas de estilo externas usando etiquetas de enlace.
Comments