Пожалуйста, извините за этот очень конкретный c вариант использования.
Я создаю то, что составляет настольное приложение, которое должно хранить важные для бизнеса данные в автономном режиме. Если пользователь использует приложение для печати чего-либо, приложение позволит ему сделать это, но ему необходимо записать эту печать локально. В идеале, эта распечатка должна быть немедленно отправлена в удаленную базу данных, но они не всегда будут иметь хорошее соединение inte rnet. Если есть локальная печать, которая не была синхронизирована на прошлой неделе, приложение закроется.
Я планирую использовать электрон для объединения этого проекта как windows приложение.
У меня есть 3 идеи для архитектуры:
Purely React / Redux. Используйте redux-offline для хранения данных печати. Redux-offline по существу будет хранить неудавшийся запрос на размещение в очереди. Элементы в этой очереди будут отправлены в их конечную точку при подключении solid inte rnet.
Чистая реакция / редукция с localForage. Очень похоже на опцию выше, но хранит данные в IndexDB.
MERN стек. MongoDB "back-end" Express сервер и React-интерфейс.
Каждый из них имеет свой собственный набор проблем.
Redux-offline и localForage (indexDB): я не могу найти никакой документации, утверждающей, что эти библиотеки будут сохранить данные при перезагрузке системы.
MERN Stack: мне нужно было бы установить и подготовить MongoDB в файловой системе планшета.
Итак, это мои ВОПРОСЫ:
При первых двух подходах кто-нибудь знает, хранят ли эти сервисы данные приложения при перезагрузке ОС? Если да, есть ли способ получить доступ к данным, хранящимся в автономной очереди redux / indexDB? Если бы мне нужно было провести аудит на устройстве и найти локальные распечатки, позволил бы мне сделать это с помощью redux-offline / indexDB?
При третьем подходе я мог бы потенциально использовать электрон для создания базы данных на файловая система (для первоначальной установки приложения) на конкретном порту, к которому я мог бы получить доступ через сервер express?
Если у вас есть какие-либо предложения или опыт работы с чем-то подобным, я хотел бы услышать о причинах почему это будет или не будет работать.