Auditoría de Performance Web con Github Actions y Lighthouse
Clase 35 de 38 • Curso de Optimización Web
Contenido del curso
- 7

Entendiendo el Critical Rendering Path en Navegadores Web
11:11 - 8

Optimización de JavaScript para mejorar rendimiento web
10:53 - 9

Priorización de recursos CSS para mejorar rendimiento web
11:50 - 10

Optimización de Carga de Recursos con Preload, Prefetch y Preconnect
10:36 - 11

Optimización de Animaciones CSS para Mejorar el Renderizado
02:35
- 15

Optimización de Imágenes para Web: Formatos y Herramientas Efectivas
15:32 - 16

Optimización de Imágenes para Web: Uso de Tamaños y Formatos Adecuados
05:21 - 17

Comparación entre WebFonts y SVG: Ventajas y Desventajas
08:58 - 18

Lazy Loading de Imágenes: Técnicas y Estrategias Efectivas
10:14 - 19

Carga Adaptativa de Imágenes con Gatsby y Web API
04:13
- 20

Optimización de JavaScript para Producción Web
11:20 - 21

Análisis y Optimización de Bundles con Webpack
11:25 - 22

Optimización de Bundles en Proyectos Web con Webpack
17:14 - 23

Code Splitting con Webpack: Optimización de Bundles en Proyectos Web
06:31 - 24

Lazy Loading de Videos con JavaScript y Modales
21:44 - 25

Event Propagation y Filtrado de Eventos en JavaScript
17:24 - 26

Integración de Librerías en Proyectos JavaScript
14:58 - 27

Optimización de Carga de Modales con Lazy Loading en Webpack
13:25 - 28

Renderizado en Cliente vs. Servidor: Diferencias y Funciones
08:44 - 29

Implementación de Server Side Rendering en NodeJS
19:41 - 30

Optimización de Sitios con Static Site Generation
15:51
¿Cómo asegurar que las optimizaciones de rendimiento se mantengan en el tiempo?
Optimizar el rendimiento de un sitio web es crucial para mejorar la experiencia del usuario y asegurar que las aplicaciones funcionen eficientemente. Sin embargo, es igualmente importante asegurarse de que estas optimizaciones perduren a lo largo del tiempo y no se vean afectadas por futuras actualizaciones o cambios en el código. Aquí es donde entra en juego el "performance budget". Este concepto nos ayuda a garantizar que los sitios web se ajusten a unos parámetros de rendimiento establecidos, mediante auditorías constantes.
¿Qué es un Performance Budget?
Un "performance budget" es una metodología que nos ayuda a definir, seguir y mantener los objetivos de rendimiento para nuestro sitio web. Se basa en tres componentes principales:
-
Elegir métricas importantes: Identificar qué métricas son críticas para el rendimiento de tu aplicación. Estas métricas pueden variar dependiendo del tipo de negocio y de los usuarios.
-
Establecer un límite: Definir los valores máximos que pueden alcanzar estas métricas, como podría ser el tamaño máximo de un archivo JavaScript, por ejemplo, 300 kilobytes.
-
Auditorías automáticas: Implementar auditorías automáticas para asegurarse de que el sitio se mantenga dentro de los límites establecidos.
¿Cómo implementar auditorías automáticas?
Las auditorías automáticas nos permiten controlar los cambios en el sitio web y asegurar que ninguna actualización rompa los parámetros de rendimiento pre-establecidos. Una herramienta efectiva para esto es Lighthouse, que puede ser integrada en tu flujo de trabajo usando herramientas de desarrollo como Webpack, npm scripts, o servidores de integración continua (CI).
Usar Lighthouse con GitHub Actions
Para automatizar las auditorías con Lighthouse en un proyecto, podemos aprovechar GitHub Actions. A continuación se muestra un ejemplo de cómo configurar una auditoría automatizada:
name: Performance Audit
on:
pull_request:
branches: [master]
jobs:
lighthouse:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js
uses: actions/setup-node@v2
with:
node-version: '12'
- run: npm install
- run: npm run build
- name: Run Lighthouse
uses: treosh/lighthouse-ci-action@v8
¿Cómo establecer un presupuesto de rendimiento?
Para definir los valores base para las métricas de rendimiento, debes realizar un análisis inicial de tu sitio web usando Lighthouse y utilizar esos valores como referencia para establecer tus objetivos mínimos. Por ejemplo, si tu métrica de First Contentful Paint actualmente es de 1.2 segundos, podrías establecer tu valor objetivo en no más de 1.5 segundos.
¿Qué herramientas pueden facilitar las auditorías?
Puppeteer es otra herramienta poderosa que se utiliza junto con Lighthouse. Permite realizar operaciones automatizadas en un navegador Chrome headless, facilitando así la recopilación de datos críticos sin la complejidad de la manipulación manual.
¿Cómo sacar el máximo provecho de los informes de Lighthouse?
Lighthouse genera informes detallados con información valiosa sobre la manera en la que tu sitio se desempeña. Estos informes proporcionan:
- Calificaciones de rendimiento: Como el puntaje general de rendimiento del sitio, que es invaluable para evaluar mejoras continuas.
- Audits: Métricas específicas, como First Paint Times y tamaño de JavaScript, que pueden ser ajustadas para mejorar la eficiencia.
¿Qué sigue después?
A medida que integres más métricas y ajustes tus auditorías, sigue experimentando e incorporando mejoras basadas en los resultados obtenidos. En la próxima etapa del aprendizaje, puedes llevar cambios a un pull request y ver cómo GitHub Actions con Lighthouse se comporta, asegurando que cada actualización mantenga o eleve los estándares de rendimiento previamente establecidos. ¡Sigue aprendiendo y mejorando!