Что произойдёт с PWA-приложением, если очистить кэш и другие временные файлы браузера?
Начал изучать технологию PWA, и первый же вопрос такой: окажется ли вся эта магия с Service Worker-ами и работой в оффлайн бесполезной, если просто очистить кэш браузера (например с помощью CCleaner)?
С точки зрения логики я рассуждал так: браузерный JavaScript не может работать с файлами на компьютере (единственное "окно" - <input type="file">), потому браузерные приложения не могут создать никаких локальных баз данных и прочих файлов, сохраняющих состояние приложения. Следовательно, работа через оффлайн возможно благодаря пока не известным мне манипуляций с временными файлами браузера. Но все эти файлы можно очищать даже без помощи стороннего софта через браузер, что пользователь может в любой момент сделать.
Ответы (1 шт):
При большом желании почистить можно все.
Поэтому если бизнес или бизнес логика очень сильно зависят от кэша,
лучше подумать об иных вариантах. Сохранение идет с использованием IndexedDB и может быть удалено как с помощью самих браузеров так и с помощью того же ССleaner.
Когда есть кэш - данные будут взяты из IndexedDB, когда его нет - будет запрос на сервер. Лично я за то чтобы данные меньше гонялись по трафику, но нужно учитывать, но на старых смартфонах памяти мало.
Физические пути к IndexedDB для разных операционных систем:
Windows:
%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\IndexedDB
Mac:
/Users/[USERNAME]/Library/Application Support/Google/Chrome/Default/IndexedDB/
Linux:
/home/[USERNAME]/.config/google-chrome/Default/IndexedDB/