Существует настольное приложение с довольно сложной логикой, написанное на .NET 4.5 и работающее как клиент, способный работать в режиме оффлайн.
Приложение имеет главный процесс (watchdog), который запускает несколько других процессов как консольные приложения за исключением одного, UI которого написан на WPF (XAML) и работает в режиме kiosk.
Также приложение:
- периодически обращается к серверу для обновления информации
- скачивает с сервера набор из нескольких сотен файлов для проигрывания
- должно быть постоянно активным и проигрывать контент
- работает с Redis как с хранилищем K/V и также с pub/sub.
- включает один процесс, представляющий из себя API веб-сервер, который "слушает" входящие события от соседнего ПК (третья сторона)
Начальство поздно поставило задачу и дало приоритет адаптировать эту технологию для запуска на мобильных платформах, таких как Android, iOS. У нашей команды нет опыта работы с мобильными платформами и поэтому нужно изучать по-большому счету всё с нуля. С другой стороны, в другой команде есть специалисты по Node.js, Angular.js.
При всём этом есть желание переиспользовать код .NET по-максимуму, а не писать всё с нуля.
- Какой вы видите адаптацию технологии для запуска .NET приложение на мобильных платформах?
Насколько подходит для этих целей Xamarin.Forms?
- Возможно ли использование Redis на указанных платформах?
Как часть приложения или как независимый компонент? Или необходимо искать альтернативное решение?
- Как автоматически обновлять приложение при выпуске новой версии у парка устройств?
- Является ли использование магазинов приложений обязательным для автоматического обновления версии?