Варианты гибридного приложения

#design-patterns

Вопрос:

Я работаю над проектом, в котором некоторые из его пользователей могут находиться в Сети примерно в 30% случаев, потому что они мобильны. Он состоит из центральной базы данных, одного Api и одного пользовательского интерфейса. Если мы полностью перейдем к архитектуре веб-дизайна, это будет просто, пользовательский интерфейс VueJS, подключенный к API .net core с базой данных SQL. Но из-за автономных пользователей мы ищем альтернативы. Вот варианты, которые у нас есть, я был бы признателен за любой вклад в это. Некоторые условия, которые следует учитывать:

  1. Мы можем установить приложение на компьютеры пользователей, но мы предпочитаем этого не делать, потому что нам необходимо поддерживать установку, обновления, синхронизацию и т.д.
  2. Сложность проекта средняя. Возможно, потребуется заполнить 5-10 форм, а также выполнить некоторые базовые вычисления и загрузить изображения со стороны клиента в базу данных.

Варианты, о которых мы подумали (в дополнение к основному веб-сайту):

  1. Настольное приложение, которое запускается и взаимодействует с Api, когда доступно. В автономном режиме он будет храниться в локальной базе данных и синхронизироваться при повторном подключении. Такого рода синхронизацию по опыту очень сложно реализовать и поддерживать.
  2. Локально размещенный веб-сайт, работающий на локальном IIS, и Api будет взаимодействовать с основным Api в режиме онлайн, но хранить данные в локальной базе данных в автономном режиме. Опять же, мы должны иметь дело с синхронизацией. Единственное преимущество этого заключается в том, что нам не нужно будет вкладывать средства в разработку сайта и настольного приложения вместе. Но теперь обновления стали еще сложнее.
  3. Электрон. Было бы хорошим решением здесь, но оно недостаточно зрелое, и мы оцениваем, будет ли это рискованно.
  4. Xamarin. это дает нам большую гибкость, но все же это считается локальным приложением.

Любое предложение приветствуется 🙂