渐进式 Web 应用
网络...但更好
渐进式 Web 应用 (PWA) 是一种使用现代 Web 功能为用户提供类似应用体验的 Web 应用。这些应用满足特定要求(见下文),部署到服务器,通过 URL 访问,并被搜索引擎索引。
这可以与 Capacitor 协同工作,为所有用户提供多个部署目标。您可以将您的应用部署为 PWA 以及原生应用,并利用这两个渠道的优势。
Ionic 允许您将您的应用不仅发布到应用商店,还部署到移动 Web,作为 PWA。
需要什么
要被认为是渐进式 Web 应用,您的应用必须是
-
渐进式 - 为所有用户工作,无论他们选择什么浏览器,因为它们以渐进增强为核心原则构建。
-
响应式 - 适合任何外形尺寸,台式机、移动设备、平板电脑,或即将出现的任何其他设备。
-
连接独立 - 使用服务工作线程增强,可在离线或低质量网络上工作。
-
应用类 - 使用应用外壳模型提供应用风格的导航和交互。
-
新鲜 - 由于服务工作线程更新过程,始终保持最新状态。
-
安全 - 通过 HTTPS 提供,以防止窥探并确保内容未被篡改。
-
可发现 - 由于 W3C 清单和服务工作线程注册范围,它们被识别为“应用”,从而使搜索引擎能够找到它们。
-
可重新参与 - 通过推送通知等功能,让重新参与变得更容易。
-
可安装 - 允许用户将他们认为最实用的应用“保留”在他们的主屏幕上,而无需应用商店的麻烦。
-
可链接 - 通过 URL 轻松共享,无需复杂的安装。
Addy Osmani:渐进式 Web 应用
这里有很多内容,但对于 Ionic 应用而言,可以归结为以下几点。
离线支持
应用应该能够在离线状态下工作。无论是在显示适当的“离线”消息,还是缓存应用数据以供显示之用。
Web 应用清单
应用清单文件应描述您的应用所需的资源。这包括应用的显示名称、图标以及启动画面。如果您在 index.html 中链接到清单文件,浏览器会检测到它并为您加载资源。
服务工作线程
服务工作线程可以在离线支持中提及,但它确实值得拥有自己的部分。服务工作线程提供了一种以编程方式缓存应用资源的方法。无论是 JavaScript 文件,还是来自 HTTP 请求的 JSON 数据。以编程的方式 API 允许开发人员决定如何处理缓存,并提供比其他选项更灵活的体验。