Если не усложнять, PWA - обычный сайт с 3 дополнительными функциями.
- отзывчивый дизайн - сайт должен хорошо смотреться на всех устройствах
- manifest.json - сайт должен иметь общее описание о себе, хранящееся в manifest.json
- кеширование - сайт должен работать в автономном режиме
Я считаю, что 1 и 2 легко. И 3 действительно то, что PWA все. Итак, вопрос: как мы можем обеспечить поддержку в автономном режиме?
Первая проблема - , как мы можем получить наши исходные .html
.css
и .js
файлы без подключения к Интернету ? Ответ: мы должны использовать работника службы или кэш приложений. Но App Cache имеет много проблем и, вероятно, устареет, с другой стороны, работники сферы обслуживания находятся в стадии разработки и становятся лучше с каждым месяцем. Вы можете прочитать больше об их разнице здесь .
Вторая проблема как мы можем получить данные сервера без подключения к интернету ? Мы должны хранить самые важные данные где-то. Но после того, как мы получили наш .js
файл из кэша, мы имеем доступ к Локальному хранилищу , Индексированной БД и т. Д. Таким образом, мы можем хранить важные данные в любом из этих хранилищ, пока мы онлайн и получить его обратно, когда мы не в сети . Это полностью зависит от вас, как вы справитесь с этим.
Я считаю, что нет ясного и строгого определения для веб-приложений PWA и HTML5 (по крайней мере, на данный момент). Таким образом, вы можете предположить, что это то же самое, но сегодня PWA - более распространенное слово.