PWA 应用和原生应用的一些区别

时间:2023-02-07 11:24:23

早在 2015 年,谷歌就启动了 PWA(又名渐进式网络应用程序,progressive web apps)概念。PWA 专注于在移动网络上做出改变和打造用户体验。

这种类型的 Web 应用程序提供了具有大量网络功能的类似原生应用程序的体验。

处理请求的现代 API 和 Service Worker 是 PWA 的核心。

渐进式 Web 应用程序的一些特点如下:

  1. 能够以受限方式访问硬件
  2. 将应用程序数据存储在缓存中
  3. 能够发送推送通知(仅适用于 Android 用户)
  4. 能够在低互联网连接和离线情况下正常工作

PWA 具有适用于所有平台的单一代码库。根据用户的设备,此应用可用作响应式网站或移动应用。PWA 不需要下载,因此许多用户甚至根本感知不到他们正在使用 PWA。

PWA 应用需要满足的三大特性:

  • Reliability: 不管 internet 连接的质量如何,但该应用程序在打开后仍能正常工作。
  • Speed: 用户体验流畅且反应灵敏,没有发现任何滞后现象。
  • Engagement: 渐进式网络应用程序的感觉和性能都像原生应用程序。

PWA 是如何工作的? 核心在于三个组成部分:

  • Service Worker 是在后台运行的脚本,管理缓存中的响应。 它们有助于减少数据流量并保存用户在线创建的信息。

  • Application shell:它代表加载 PWA 用户界面的本地资源。 应用程序外壳处理应用程序的交互和导航。由于这个组件,PWA 可以离线工作并加载由 service worker 缓存的动态内容。

  • Web 应用程序清单(manifest.json)是一个 JSON 文件,用于存储有关应用程序的信息。 它的主要目的是告知应用程序在用户屏幕上的显示方式。