PWA: позволяет пользователям загружать контент для автономного использования - PullRequest
1 голос
/ 20 октября 2019

Я работаю над приложением для посетителей музея, которое показывает мультимедийную информацию об объектах некоторых экспозиций. Примером может служить информационная страница для Моны Лизы из экспозиции Да Винчи.

Приложение реализовано в виде PWA для использования в автономном режиме. В настоящее время я использую рабочий ящик для предварительного кэширования оболочки приложения. GET-запросы на REST-ресурсы также кэшируются. Это позволяет пользователю перезагрузить страницу Моны Лизы после перехода в автономный режим, но происходит сбой приложения на страницах, которые не были загружены ранее.

Решением будет предварительное кэширование всего содержимого вместе с оболочкой приложения. Но тогда также будут загружены неинтересные для пользователя экспозиции. Вместо этого пользователь должен иметь возможность загружать «экспозиционные пакеты» по своему выбору.

Теперь мне интересно, как реализовать мою кнопку «Загрузить экспозицию»:

  • Использовать маршрут рабочей коробкизапросы [1] для кэширования и GET всех ресурсов в фоновом режиме
  • Кэширование запросов GET вручную с помощью Cache API
  • Представьте локальную базу данных, которая отражает онлайн-базу данных. Заполните его соответствующими GET-ответами при нажатии «Скачать»

Вы бы порекомендовали рабочий ящик, Cache API или подход БД? Или есть стандартное решение, которое я пропускаю?

[1] https://developers.google.com/web/tools/workbox/guides/route-requests

...