Offline arbeiten: eine App, die im Aufzug nicht zerbricht
Die Grundannahme
Ein Mobilfunknetz ist kein Ein-Aus-Schalter, sondern ein Spektrum: langsam, unterbrochen, verbunden, aber ohne Durchsatz. Eine App, die eine gute Verbindung annimmt, zeigt genau dann ein endloses Ladesymbol, wenn der Nutzer sie braucht.
Der richtige Ansatz: Das Gerät hält eine lokale Wahrheitsquelle, und das Netz ist ein Hintergrund-Synchronisationsprozess.
Drei Mechanismen
Lese-Cache. Was einmal geladen wurde, wird sofort erneut gezeigt, mit einer dezenten „wird aktualisiert“-Markierung.
Schreib-Warteschlange. Handlungen des Nutzers werden lokal gespeichert und gesendet, sobald es eine Verbindung gibt. Die Oberfläche zeigt das Ergebnis sofort.
Konfliktlösung. Was passiert, wenn zwei Geräte dasselbe Element geändert haben. Entscheiden Sie im Voraus: der letzte gewinnt, feldweise zusammenführen oder den Nutzer fragen.
Was der Nutzer sehen muss
Den Synchronisationsstand still, aber klar, und was noch nicht gesendet wurde. Den Zustand völlig zu verbergen erzeugt Misstrauen, sobald etwas verschwindet.
Im Detail
Halten Sie eine Version oder einen Aktualisierungszeitstempel vom Server bei jedem Datensatz und senden Sie ihn beim Schreiben zurück, um einen Konflikt zu erkennen. Ohne ihn überschreiben sich zwei parallele Aktualisierungen still — die schlimmste Art von Datenverlust, weil niemand einen Fehler bekommt.