Una gran cantidad de personas disfrutan de la Web moderna con una variedad de dispositivos y tipos de conexiones de red. Tus creaciones pueden llegar a usuarios de todo el mundo, pero brindar una experiencia confiable en la Web para todos tus usuarios puede ser un desafío. Puede ser difícil comprender qué significa la confiabilidad.
Confiable sin conexión
Una forma de pensar en la confiabilidad es si tu app web funcionará sin una conexión de red. Este es un tipo de confiabilidad que los usuarios dan por sentado con las apps específicas de la plataforma instaladas en un dispositivo móvil desde una tienda de aplicaciones. Cuando ves el ícono de una de estas apps, esperas poder presionarlo y abrir algún tipo de experiencia, independientemente de si estás conectado a Internet.
Hasta hace poco, era difícil crear aplicaciones web confiables sin una conexión de red.
Confiablemente rápido
Otra forma de pensar en la confiabilidad es si tus usuarios pueden confiar en que tu app web se cargará a una velocidad lo suficientemente rápida cuando tengan una conexión de red que podría no ser ideal. ¿Los usuarios recurrentes tendrán la misma experiencia cuando interactúen con tu app web a través de una conexión móvil que cuando lo hagan a través de Wi-Fi? ¿Y qué sucede con los usuarios que tienen una conexión de alta latencia o "lie-fi"? ¿Tu app web será confiablemente rápida incluso en esas situaciones?
No basta con ser rápido en las mejores circunstancias. Tus usuarios verán el rendimiento de tu app web en función de cómo se comporta en todas las condiciones de red.
La confiabilidad es posible
La buena noticia es que la plataforma web moderna proporciona tecnologías, como los service workers y la API de Cache Storage, que pueden servir como componentes básicos para crear aplicaciones web confiables. Te permiten escribir código que se encuentra entre tu app web y la red. En muchos casos, puedes omitir la red por completo y, en su lugar, usar contenido almacenado en caché previamente para satisfacer las solicitudes de tu app web.
Tu faro guía: Responde con un código de estado HTTP 200 OK cuando no hay conexión
Una vez que comienzas a compilar un service worker y a entregar contenido desde las memorias caché, es difícil saber si lo estás haciendo de manera eficaz. ¿Cómo sabes que el service worker que implementas realmente ayuda a tu app web a evitar la red? ¿Cómo evitas que un pequeño cambio en tu estrategia de almacenamiento en caché interrumpa la experiencia sin conexión que creaste con tanto cuidado?
Lighthouse proporciona una prueba específica que es de especial interés cuando se compila una app web confiable: Responde con un código 200 OK cuando no hay conexión:
¿Qué se está probando aquí en realidad? Se reduce a simular una pérdida de conectividad de red en tu navegador, seguida de un intento de cargar cualquier URL de tu sitio que se esté auditando. Esta prueba evalúa un aspecto de la creación de un sitio confiable (ser confiable sin conexión) con una secuencia de acciones controlada y repetible.
Es un viaje
Si recién comienzas, es muy probable que obtengas un resultado negativo en la verificación Responde con un código de estado HTTP 200 cuando no hay conexión. ¡No hay problema! A menos que uses un proyecto de inicio personalizado, las aplicaciones web no tienen ese tipo de confiabilidad de forma predeterminada. En las próximas guías, se presentarán las técnicas que necesitas para identificar lo que carga tu app web y se te enseñará a usar Lighthouse para que esa experiencia de carga sea confiable.
Durante todo este proceso, te recomendamos que sigas ejecutando las auditorías de Lighthouse. Sirven como guía a lo largo de tu recorrido, desde una nueva aplicación web hasta una aplicación web progresiva confiable.