早在 2015 年,谷歌就启动了 PWA(又名渐进式网络应用程序,progressive web apps)概念。PWA 专一于在挪动网络上做出扭转和打造用户体验。
这种类型的 Web 应用程序提供了具备大量网络性能的相似原生应用程序的体验。
解决申请的古代 API 和 Service Worker 是 PWA 的外围。
渐进式 Web 应用程序的一些特点如下:
- 可能以受限形式拜访硬件
- 将应用程序数据存储在缓存中
- 可能发送推送告诉(仅实用于 Android 用户)
- 可能在低互联网连贯和离线状况下失常工作
PWA 具备实用于所有平台的繁多代码库。依据用户的设施,此利用可用作响应式网站或挪动利用。PWA 不须要下载,因而许多用户甚至基本感知不到他们正在应用 PWA。
PWA 利用须要满足的三大个性:
- Reliability: 不论 internet 连贯的品质如何,但该应用程序在关上后仍能失常工作。
- Speed: 用户体验晦涩且反馈灵活,没有发现任何滞后景象。
- Engagement: 渐进式网络应用程序的感觉和性能都像原生应用程序。
PWA 是如何工作的?外围在于三个组成部分:
- Service Worker 是在后盾运行的脚本,治理缓存中的响应。它们有助于缩小数据流量并保留用户在线创立的信息。
- Application shell:它代表加载 PWA 用户界面的本地资源。应用程序外壳解决应用程序的交互和导航。因为这个组件,PWA 能够离线工作并加载由 service worker 缓存的动静内容。
- Web 利用程序清单 (manifest.json) 是一个 JSON 文件,用于存储无关应用程序的信息。它的次要目标是告知应用程序在用户屏幕上的显示方式。