Trabajar sin red: una app que no se rompe en un ascensor
El supuesto de base
Una red móvil no es un interruptor de encendido y apagado sino un espectro: lenta, entrecortada, conectada pero sin tráfico. Una app que da por hecha una buena conexión muestra un círculo de carga infinito justo cuando el usuario la necesita.
El enfoque correcto: el dispositivo mantiene una fuente de verdad local, y la red es un proceso de sincronización en segundo plano.
Tres mecanismos
Caché de lectura. Lo que se cargó una vez se muestra de nuevo al instante, con una marca sutil de “actualizando”.
Cola de escritura. Las acciones del usuario se guardan localmente y se envían cuando hay conexión. La interfaz muestra el resultado al instante.
Resolución de conflictos. Qué pasa cuando dos dispositivos cambiaron el mismo elemento. Decide de antemano: gana el último, fusión por campos, o preguntar al usuario.
Qué debe ver el usuario
El estado de sincronización de forma silenciosa pero clara, y qué no se ha enviado todavía. Ocultar el estado por completo genera desconfianza en cuanto algo desaparece.
En profundidad
Guarda una versión o marca de tiempo de actualización del servidor en cada registro, y envíala de vuelta en la escritura para detectar un conflicto. Sin ella, dos actualizaciones en paralelo se pisan en silencio: el peor tipo de pérdida de datos, porque nadie recibe un error.