Habilidad: Rendimiento
Haz que la interfaz de usuario sea rápida y estable. Trata el rendimiento como un problema de accesibilidad: las interfaces lentas o con tirones fallan primero en dispositivos de gama baja.
Pasos
- Lee
workflows/performance.md(objetivos de Core Web Vitals, estrategia de carga, cambios de diseño, rendimiento de animaciones, costo de ejecución del sistema de diseño). - Diagnostica contra los presupuestos: LCP ≤ 2.5s, INP ≤ 200ms, CLS ≤ 0.1. Mide en un perfil móvil de gama media (acelera 4G lenta + CPU 4×).
- Carga: renderiza primero el contenido sobre el pliegue (SSR/Server Components), divide el código por ruta + widget pesado, carga diferida lo que está bajo el pliegue o detrás de una interacción (islas Astro / Qwik), precarga un peso de fuente crítico, imágenes responsivas modernas.
- Elimina los cambios de diseño: dimensiona los esqueletos con las dimensiones finales, reserva espacio para medios mediante
aspect-ratio(tokens/sizing.json), nunca inyectes contenido encima del existente. - Animación: solo
transform/opacity, usawill-changecon moderación, 100–300ms (tokens/motion.json), respetaprefers-reduced-motion. Prefiere el estilo CSS con estados sobre JavaScript para un INP bajo; importaciones árbolizadas por componente.
Verificación (criterio de aceptación)
- Los datos de Lighthouse o de campo cumplen con LCP ≤ 2.5s, INP ≤ 200ms, CLS ≤ 0.1 en móvil de gama media.
- La primera interacción sigue siendo receptiva bajo aceleración de 4G lenta + CPU 4×.
- Los esqueletos y el espacio reservado para medios (CLS cero en carga); no hay animaciones no compositadas en bucles.