如果集成了 service worker,普通的 web 应用程序会自动成为 PWA 吗?

Is a normal web app automatically a PWA if service worker is integrated?

如果我将 Service Worker 集成到 Web 应用程序中,它是否被视为 PWA? 我开发了一个 WebApp 并希望包含一个 Service Worker。我不知道,如果这现在是一个 PWA。

要使您的 Web 应用程序作为 PWA 工作,只有 3 个核心技术要求。

  • manifest.json 文件
  • Service Worker 与获取事件处理程序集成
  • 您的网络应用程序应在 HTTPS.
  • 下提供

Web Manifest.json:- 清单文件包含与您的 Web 应用程序相关的元数据信息,这些信息将在您安装 Web 应用程序时使用(因为 PWA 是可安装的) .

{
    "short_name": "A PWA app",
    "name": "a PWA app",
    "icons": [
        {
            "src": "/images/icons-192.png",
            "type": "image/png",
            "sizes": "192x192"
        }
    ],
    "start_url": "/"
}

Service Worker:- 需要 Service Worker 来缓存和提供您的应用程序资源(例如静态文件)。然而,它提供了许多除了缓存之外的功能,例如:-

  • 推送通知

  • 离线用户体验

  • 浏览器API例如相机、位置

HTTPS 网络:-出于安全原因,这是必需的,因为 service worker 可以拦截客户端和服务器之间的所有请求。

参考文献:-

https://web.dev/progressive-web-apps/

https://developers.google.com/web/fundamentals/primers/service-workers