Что такое Progressive Web App (PWA)?

«Что такое Progressive Web App (PWA)?» — вопрос из категории Веб-тестирование, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Progressive Web App (PWA) — это веб-приложение, построенное с использованием современных API для обеспечения нативного пользовательского опыта: установки, офлайн-работы и push-уведомлений.

Основные технологии и характеристики:

  1. Service Worker: Скрипт, работающий в фоне, который управляет кэшированием, офлайн-режимом и push-сообщениями.
  2. Web App Manifest: JSON-файл (manifest.json), описывающий метаданные приложения для установки (название, иконки, цвет темы, режим отображения).
  3. HTTPS: Обязательное требование для безопасности.
  4. Адаптивный и App-like UI: Интерфейс должен быть отзывчивым и похожим на нативное приложение.

Пример манифеста:

{
  "name": "My PWA",
  "short_name": "App",
  "start_url": "/",
  "display": "standalone",
  "background_color": "#ffffff",
  "theme_color": "#3367D6",
  "icons": [
    {
      "src": "/icon-192.png",
      "type": "image/png",
      "sizes": "192x192"
    }
  ]
}

Аспекты тестирования PWA:

  • Установка через браузер (кнопка "Добавить на главный экран").
  • Работа в офлайн-режиме (Service Worker кэширует ключевые ресурсы).
  • Корректность отображения в standalone-режиме (без адресной строки).
  • Работа push-уведомлений (если реализованы).
  • Производительность и безопасность (HTTPS).