Offline-first y móvil

Quienes hacen el trabajo suelen tener la peor conexión: en un buque, en un sótano, en una obra sin cobertura. Una aplicación que necesita la red para funcionar es una aplicación que se detiene justo cuando más falta hace.

Construimos offline-first: el dispositivo guarda la copia autorizada del trabajo en curso, cada cambio queda registrado para poder reproducirse y la sincronización es determinista, de modo que el mismo conjunto de cambios se reconcilia en el mismo resultado llegue en el orden que llegue. Los conflictos se resuelven con una regla acordada con el cliente, no con el dispositivo que se conectó el último.

En móvil eso es React Native y Expo, con una matriz de pruebas que cubre el hardware que la gente lleva de verdad. En la web es un service worker haciendo el mismo trabajo, para que una pestaña siga funcionando cuando la conexión no lo hace.