Offline-first et mobile
- React Native
- Expo
- Service workers
- IndexedDB
- SQLite
Ceux qui font le travail ont souvent la pire connexion — sur un navire, dans un sous-sol, sur un site sans couverture réseau. Une application qui a besoin du réseau pour fonctionner est une application qui s’arrête au moment où l’on en a le plus besoin.
Nous construisons en offline-first : l’appareil détient la copie de référence du travail en cours, chaque modification est enregistrée pour pouvoir être rejouée, et la synchronisation est déterministe — le même ensemble de modifications aboutit au même résultat quel que soit leur ordre d’arrivée. Les conflits sont tranchés par une règle validée par le client, et non par l’appareil qui s’est connecté en dernier.
Sur mobile, c’est React Native et Expo, avec une matrice de tests couvrant le matériel que les gens ont réellement en main. Sur le web, c’est un service worker qui fait le même travail, pour qu’un onglet continue de fonctionner quand la connexion s’arrête.