Работа в автономном режиме, а затем синхронизация данных с онлайн-серверами иногда может быть довольно сложной.
Сценарии
Самый рекомендуемый способ сделать это без ущерба для вашего UX - это задаться вопросом о некоторых сценариях, в которых ваше приложение будет работать, например:
- Вашему пользователю нужно зарегистрироваться или войти в какую-либо службу или учетную запись?
- Должны ли ваши пользовательские данные быть предварительно зарегистрированы в ваших онлайн-сервисах, прежде чем пользователь сможет начать работать с ними локально?
Возможные решения
Постарайтесь ответить на поставленные выше вопросы, прежде чем разрабатывать, как будет запускаться ваше приложение.
Мой пользователь должен быть зарегистрирован или авторизован в онлайн-аккаунте, прежде чем начать создавать запасы
Это говорит о том, что ваш пользователь должен иметь подключение к Интернету, когда он запускает ваше приложение в первый раз.
если это действительно так, ваше приложение должно запуститься в первый раз, запрашивая логин или
регистр
- в этом случае, если нет соединения, когда пользователь запускает приложение в первый раз. Ваше приложение должно остановиться на экране входа в систему (это часто используемый поток)
После входа в систему вы должны сохранить пользовательские данные, полученные с онлайн-серверов, в локальном хранилище
Когда пользователь запустит приложение в следующий раз, приложение распознает его автоматически и пропустит экран входа / авторизации.
Ваше приложение должно следовать нормальному рабочему процессу (создание, редактирование, удаление инвентаризаций)
Мой пользователь не должен входить в систему, чтобы создавать инвентаризации в моем приложении
Этот ответ автоматически говорит о том, что ваши пользовательские данные не нужно предварительно регистрировать в Интернете, а затем изменять в автономном режиме, поэтому здесь не требуется Интернет, в том числе при первом открытии приложения пользователем.
- В этом случае вы просто начнете проверять подключение к Интернету и, если есть Интернет, вы попросите пользователя выполнить авторизацию.
- В этом случае ваше приложение должно запускаться с исходным рабочим процессом, создавая все данные в автономном режиме, а затем, только когда пользователь вошел в систему, оно попытается синхронизировать локальные данные с данными, хранящимися в Интернете.
TL: DR
Во всех этих случаях вы ищете Progressive Web App , PWA - это веб-приложения, которые работают в автономном режиме на стороне клиента.