iOS UIWebView - кеширование ресурсов в нативном apap - PullRequest
0 голосов
/ 15 января 2019

Я оцениваю проект, который изначально был задуман как просто PWA с использованием React и Redux.

Тем не менее, приложению требуется поддержка в автономном режиме, а для работы в автономном режиме требуется значительное количество мультимедийных ресурсов (изображений и видео).

Поскольку ограничение хранилища работника службы составляет всего 50 МБ, это не представляется возможным для iOS.

Мне понравилась идея использовать встроенную оболочку приложения, которая обрабатывает хранение медиа-файлов, при этом большая часть приложения остается реализацией Redux / React.

Есть ли хороший способ выставить такие активы в UIWebView из собственного приложения? Или есть другие общие подходы к этой ситуации?

1 Ответ

0 голосов
/ 16 января 2019

Прежде всего вы должны попытаться кэшировать только те ресурсы, которые необходимы для вашего PWA. Однако, если вы хотите хранить большие файлы, я бы предложил использовать API IndexDB.

IndexedDB - это низкоуровневый API-интерфейс для хранения на стороне клиента значительных объемов структурированных данных, в том числе файлов и больших двоичных объектов. Этот API использует индексы для обеспечения высокопроизводительного поиска этих данных. Хотя веб-хранилище полезно для хранения небольших объемов данных, оно менее полезно для хранения больших объемов структурированных данных. IndexedDB предоставляет решение.

Почему IndexDB?

Когда квота превышает в IndexedDB API, ошибка вызывает функцию onabort () транзакции с Event в качестве аргумента.

Когда браузер запрашивает у пользователя разрешение на увеличение размера хранилища, все браузеры вызывают эту функцию только тогда, когда пользователь не разрешает ее, в противном случае продолжайте транзакцию.

Если вы хотите узнать о других возможных БД, я бы предложил вам перейти по этой ссылке https://www.html5rocks.com/en/tutorials/offline/quota-research/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...