Contenido del curso
Antes de optimizar...
Crítical Rendering Path
- 7

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

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

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

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

Optimización de Animaciones CSS para Mejorar el Renderizado
02:35 min
CSS
WebFonts
Imágenes, Iconos y SVG
- 15

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

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

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

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

Carga Adaptativa de Imágenes con Gatsby y Web API
04:12 min
Aplicaciones JavaScript
- 20

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

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

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

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

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

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

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

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

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

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

Optimización de Sitios con Static Site Generation
15:51 min
Caché
- 31

Funcionamiento de Caché y Redes de Distribución de Contenido (CDN)
05:50 min - 32

Configuración y despliegue de sitios web con Netlify y Github Actions
09:03 min - 33

Automatización de despliegues con Github Actions y Cron en Netlify
09:25 min - 34

Implementación de Caché con Service Workers en JavaScript
14:04 min
Performance Budget
Conclusiones
Optimización de Imágenes para Web: Uso de Tamaños y Formatos Adecuados
Resumen
Elegir la resolución correcta de una imagen puede significar una diferencia enorme en el rendimiento de un sitio web. Cuando una API ofrece múltiples tamaños, aprovechar esa ventaja es una de las formas más seguras y efectivas de reducir el peso de una página sin alterar su apariencia ni su funcionamiento.
¿Cómo analizar la respuesta JSON de una API de imágenes?
Al consumir datos de una API, la respuesta suele llegar en formato JSON. Para inspeccionarla de manera clara, se puede copiar todo el contenido y pegarlo en VS Code [0:08]. Una vez ahí, se indica que el lenguaje es JSON y se formatea automáticamente para facilitar la lectura.
Dentro de esa respuesta, cada elemento representa un item que se renderiza en el proyecto, en este caso como un carousel item. Los atributos de cada objeto incluyen:
- Títulos e información descriptiva del contenido.
- Un objeto de imágenes con múltiples resoluciones disponibles [0:42].
Esta característica depende de cada API. Algunas ofrecen varios tamaños (large, medium, small), mientras que otras solo entregan una única resolución, lo que limita las opciones de optimización.
¿Por qué cambiar de large a medium mejora el rendimiento?
En el proyecto de ejemplo, el componente carousel item utiliza la imagen con el atributo large [1:10]. Sin embargo, esa imagen tiene un tamaño de 500 × 750 píxeles, mucho mayor que el contenedor donde se muestra, que solo ocupa aproximadamente 200 × 250 píxeles [1:30].
Cargar una imagen más grande de lo necesario significa transferir kilobytes innecesarios al navegador del usuario. La solución es sencilla: usar una resolución más conservadora como medium [1:48].
¿Cómo se aplica el cambio en el código?
En el archivo index.js, en la línea donde se define la image URL, basta con cambiar el valor del atributo de large a medium [2:02]:
- Se modifica la propiedad que extrae la URL de la respuesta JSON.
- Se guarda el archivo y se recarga el proyecto.
- El resultado visual es prácticamente idéntico, pero con un peso significativamente menor por imagen.
Este tipo de optimización es muy seguro. A menos que se elija una resolución demasiado baja, no debería haber ningún cambio visible ni afectar el comportamiento de la página [2:18].
¿Qué es WebP y por qué no se usa todavía de forma generalizada?
Existe un formato llamado WebP, desarrollado por Google, que está diseñado para ser más eficiente que los formatos estándar como JPEG o PNG [2:36]. Su compresión es superior, lo que se traduce en archivos más ligeros con calidad comparable.
Sin embargo, hay una razón práctica para no adoptarlo de inmediato:
- El soporte en navegadores no es universal al día de hoy [2:48].
- Para cubrir navegadores que no lo soportan, sería necesario incluir polyfills.
- Esos polyfills agregan peso adicional y generan requests HTTP extra, lo que contradice el objetivo de optimización.
A pesar de esto, se espera que WebP gane mucha más adopción entre los navegadores en el futuro, por lo que vale la pena mantenerlo en el radar [3:02].
Optimizar imágenes es uno de los pasos con mayor impacto y menor riesgo en la mejora del rendimiento web. Si trabajas con una API que ofrece distintas resoluciones, comparte cuál estrategia te ha dado mejores resultados en tus proyectos.