создание офлайн-первого приложения с реагированием и электроном - PullRequest
0 голосов
/ 09 апреля 2020

Пожалуйста, извините за этот очень конкретный c вариант использования.

Я создаю то, что составляет настольное приложение, которое должно хранить важные для бизнеса данные в автономном режиме. Если пользователь использует приложение для печати чего-либо, приложение позволит ему сделать это, но ему необходимо записать эту печать локально. В идеале, эта распечатка должна быть немедленно отправлена ​​в удаленную базу данных, но они не всегда будут иметь хорошее соединение inte rnet. Если есть локальная печать, которая не была синхронизирована на прошлой неделе, приложение закроется.

Я планирую использовать электрон для объединения этого проекта как windows приложение.

У меня есть 3 идеи для архитектуры:

  1. Purely React / Redux. Используйте redux-offline для хранения данных печати. Redux-offline по существу будет хранить неудавшийся запрос на размещение в очереди. Элементы в этой очереди будут отправлены в их конечную точку при подключении solid inte rnet.

  2. Чистая реакция / редукция с localForage. Очень похоже на опцию выше, но хранит данные в IndexDB.

  3. MERN стек. MongoDB "back-end" Express сервер и React-интерфейс.

Каждый из них имеет свой собственный набор проблем.

Redux-offline и localForage (indexDB): я не могу найти никакой документации, утверждающей, что эти библиотеки будут сохранить данные при перезагрузке системы.

MERN Stack: мне нужно было бы установить и подготовить MongoDB в файловой системе планшета.

Итак, это мои ВОПРОСЫ:

При первых двух подходах кто-нибудь знает, хранят ли эти сервисы данные приложения при перезагрузке ОС? Если да, есть ли способ получить доступ к данным, хранящимся в автономной очереди redux / indexDB? Если бы мне нужно было провести аудит на устройстве и найти локальные распечатки, позволил бы мне сделать это с помощью redux-offline / indexDB?

При третьем подходе я мог бы потенциально использовать электрон для создания базы данных на файловая система (для первоначальной установки приложения) на конкретном порту, к которому я мог бы получить доступ через сервер express?

Если у вас есть какие-либо предложения или опыт работы с чем-то подобным, я хотел бы услышать о причинах почему это будет или не будет работать.

...