Miguel Ángel Durán Profile picture
👨‍💻 Ingeniero de Software y Divulgador de Programación ⭐ Google Dev Expert + Microsoft MVP 🎓 Academia → https://t.co/HZWaaG7wJU 🔴 Twitch → https://t.co/fcahiemHdr

Jun 19, 2023, 13 tweets

¿Quieres conseguir un 100 de Rendimiento en tu Web?

Mega hilo con colección de trucos para conseguirlo:

1. Carga sólo el JavaScript y CSS que necesitas.

Para saber si eso es un problema, puedes usar la pestaña de Cobertura en las DevTools.

Esta pestaña está un poco oculta, pero te dice el % de uso de tus archivos.

Al darle a un archivo, te muestra las líneas que se usan.

2. Carga diferida de dependencias

Utiliza imports dinámicos para cargar bibliotecas sólo cuando las necesitas.

Si algo sólo se necesita tras la interacción del usuario...
¡Entonces cárgalo sólo ahí y no desde el principio!

Un ejemplo con código JavaScript:

3. Optimiza tus imágenes

Usa el formato y tamaños adecuados para tus imágenes:

- webp o avif siempre que puedas
- Haz imágenes responsive y cargar según el dispositivo
- Usa SVG para iconos e imágenes vectoriales
- Evita PNG siempre que puedas

squoosh.app

4. Usa la plataforma web

Evita usar dependencias grandes o innecesarias:

- Busca alternativas más pequeñas (lodash vs just)
- Favorece soluciones nativas (axios vs fetch)

Con bundlephobia entiendes el coste que tiene:
bundlephobia.com

5. Favorece CSS en lugar de JavaScript

CSS ha mejorado muchísimo y cada vez es más potente.

Hoy en día puedes hacer ciertos sliders y UIs sin JS.

Revisa y aprende a usar CSS ya que:
- La solución ocupa menos que JS normalmente
- La evaluación es mucho más rápida
- Mejor UX

6. Carga diferida de imágenes

Usa la etiqueta nativa lazy de imágenes e iframes para cargarlas sólo cuando el usuario las necesita.

¡Ojo! Usa esta técnica para imágenes que sabes que no están en pantalla desde el principio.

7. Comprime tu contenido con Brotli

Haz que tus recursos viajen más rápido usando una mejor compresión.

Brotli ofrece una mejora de un ~25% respecto a gzip.

Muchos servidores lo hacen automáticamente pero revisa que lo tienes activado.

8. Cuantas menos fuentes, mejor

Las fuentes son críticas para mostrar nuestra web.

Si puedes, usa sólo fuentes del sistema. Si no...

Usa el mínimo número y siempre con formato woff2.

Te dejo una guía con las mejores prácticas para su carga.

web.dev/font-best-prac…

8b. ¡Y no uses Google Fonts directamente!

Google Fonts puede ser buena idea para probar algo...

¡Pero no es lo más óptima en cuanto a rendimiento!

Lo mejor es hospedarlas en tu sitio.

Es lo que hace por ti Next.js con su utilidad font.

9. Evita mostrar un loader al principio

Nuestra web tarda en cargar y mostramos un loader al inicio.

¡Esto es fatal para la percepción de carga del usuario!

Haz que tu contenido aparezca cuanto antes

10. Ordena tu etiqueta head

Además de precargar scripts y recursos...

¡El orden de lo que cargas es importante!

Esta utilidad te dice cómo debes colocar tus etiquetas para tener el máximo rendimiento y evitar bloqueos innecesarios:

github.com/rviscomi/capo.…

Como último tuit irían mis redes y demás.

Pero no quiero agobiarte con lo mismo de siempre.

Simplemente, sígueme donde quieras si te gusta mi contenido.

¡Gracias por leerme!

Share this Scrolly Tale with your friends.

A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.

Keep scrolling