ENGINEERING NOTE

Для полевых, геоинформационных и распределённых систем возможность открыть приложение без соединения — только самая заметная часть задачи. Настоящая архитектурная сложность начинается после того, как одна и та же сущность может измениться в двух независимых репликах.

Нужно заранее определить идентификаторы объектов, версии, журнал изменений, правила синхронизации и то, какие конфликты допустимо разрешать автоматически. Не менее важно уметь показать пользователю, почему две версии отличаются и какое решение будет принято.

Поэтому offline-first лучше рассматривать как свойство модели данных и жизненного цикла проекта, а не как дополнительный режим интерфейса. Если это заложено с самого начала, система способна работать в нестабильной сети без потери управляемости и без скрытого разрушения данных.

Все инженерные заметкиОбсудить задачу