Я попытался сделать Offline-First приложение, и это чуть не уничтожили проект
Мы, разработчики, иногда проводим эксперименты ради удовольствия. А иногда такие эксперименты превращаются в фильмы ужасов.
Мой эксперимент с приоритетом офлайн-подключения должен был быть простым: сделать так, чтобы всё iOS-приложение работало даже при отсутствии сети.
Никаких индикаторов загрузки.
Никаких «пожалуйста, повторите попытку».
Никаких «проверьте ваше соединение».
Просто мгновенный пользовательский интерфейс, локальная запись и фоновая синхронизация, которая волшебным образом всё исправляет, когда восстанавливается сеть.
В теории? Прекрасно.
В реальности? Я случайно открыл финального босса в прохождении архитектуры — конфликты данных.
И не те милые, что описаны в учебниках.
Я говорю о реальных, запутанных, противоречивых ошибках, поступающих от реальных людей, использующих приложение на разных устройствах, способами, которые ни один менеджер по продукту не мог предсказать.
К концу проекта моя локальная база данных знала о предательстве и несогласованности больше, чем любые человеческие отношения.
Статья: https://apptractor.ru/info/articles/ya-popytalsya-sdelat-offline-first-prilozhenie-i-eto-chut-ne-unichtozhili-proekt.html
Платформа: разработка
👨🦯➡️ AppFiles: код, инструменты, практики, производительность
Post #3873
567

- 👍 1