Использование сервис-воркеров PWA для сохранения / обслуживания веб-сервиса в автономном режиме

У меня есть приложение vue.js / Cordova, в котором я хочу, чтобы данные, поступающие из веб-сервисов Rest, были доступны в автономном режиме, тривиальное решение, которое впервые приходит мне в голову, - это использование API локального хранилища, индексируя каждый ответ ws и возвращая мой интерфейсный сервис данные из локального хранилища в автономном режиме или в случае медленного интернет-соединения. Но я думаю, что сделать это напрямую с использованием API локального хранилища очень сложно, и я подумал, что, возможно, использование сервис-воркеров и концепции pwa может правильно выполнить задачу. Теперь у меня вопрос: могут ли работники сервиса выполнять эту работу в моем случае? во-вторых, доступны ли сервисные работники в приложении Cordova для Android / iOS? Наконец, каковы вероятные проблемы совместимости / риски использования при работе на мобильных устройствах?

🤔 А знаете ли вы, что...
JavaScript поддерживает модульную структуру, что способствует организации кода на больших проектах.


1
379
1

Ответ:

Решено

К сожалению, если вы используете Cordova для обслуживания файлов либо с URL-адресов файлов, либо с URL-адресов http, что вы, вероятно, будете делать, если только обслуживание не осуществляется с веб-сайта, это не будет работать на Android из-за того, что работники службы работают только в безопасных контекстах. См. https://www.w3.org/TR/service-workers-1/#secure-context.

Однако в iOS есть плагин, который позволяет использовать сервис-воркеров даже в более старых версиях, которые не имеют встроенной поддержки.

Даже без отсутствия поддержки в Android сервис-воркеры не будут присутствовать на достаточном количестве платформ, чтобы быть полезными в качестве основной части вашего приложения.

В вашем случае, поскольку вы уже используете Vue, я рекомендую использовать Vuex, хранилище данных приложений Vue. Вы также получаете некоторые другие преимущества.