На чем создавать мобильное (ios/android) приложение с VueJS и фоновым процессом?

Фоновый процесс нужен что бы раз в +-2 часа обновлять данные с API и при необходимости показывать уведомление пользователю + автозапуск при перезагрузке телефона и работа в фоне если само приложение закрыто (как я понял постоянно работающие фоновые процессы запрещены и на фоне скрипты вызываются системой по расписанию задач с таймаутом 30 сек на выполнение). Vue - потому что его знаю и не надо с 0 что то новое изучать. В целом критерии отбора именно по фоновому процессу тк он по сути основа приложения.

Варианты которые я отобрал:
1) NativeScript-Vue + плагин nativescript-task-dispatcher
Наверное самый подходящий вариант, на выходе получаю нативное приложение, nativescript постоянно развивается и у него большая библиотека готовых плагинов которые так же поддерживаются и обновляются.

2) VueNative -> ReactNative + react-native-queue
vue-native не завелся "из коробки" что видимо говорит о его сыроватости, а react-native-queue не обновлялся 3 года + много активных Issues

3) Cordova + Vue + `background task manager` (многие обновлялись лет 5 назад, а в гайдах все свои плагины пишут на jav'e)
WebView динозавр, так и не смог найти рабочего плагина для фоновой службы.

Есть еще какие нибудь варианты лучше? Или может подводные камни этих решений ?
  • Вопрос задан
  • 340 просмотров
Пригласить эксперта
Ответы на вопрос 2
TonyHunt
@TonyHunt
Part-time developer – full-time geek.
https://github.com/jamesisaac/react-native-backgro...
https://github.com/transistorsoft/react-native-bac...

4) Разделить "Фронт" от "Бэка".
Всё, что визуальное пишите на Вью.
Всё, что не визуально пишите на Котлин.

Про Андройд, не знаю как про Мак...
Всё равно вы используете Андройд Студию, всё равно вы оборачиваете ваши приложение.

Нашёл комментарий:
В React Native есть ограничение, согласно которому, когда приложение находится в фоновом режиме, мост js перестает получать сообщения. Это означает, что если вы пытаетесь отправить данные из js, вы не сможете рассчитывать на данные, которые их создают. В качестве альтернативы вы можете написать код для отправки обновлений в нативном коде, и это должно помочь.


Как вывод, придётся всё равно пилить на Котлин/Свифт. На Котлин можно пилить под Мак.
Ответ написан
Комментировать
@Viktimius
js developer
Можно использовать quasar, под капотом vue, android-studio и java sdk(corona, cordova). В cordova-plugins вроде можно task runner цеплять + есть доступ к устройству. Насчет подводных камней не подскажу, ну и как писали выше - это обертки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы