针对频繁变化的数据的 PWA 离线能力

Raf*_*yes 5 service-worker progressive-web-apps cacheapi

对于显示经常变化的数据(例如银行帐户余额)的应用程序来说,渐进式 Web 应用程序离线功能是一个好主意吗?

如果用户正在使用他的 PWA 离线模式并导航到例如银行产品余额部分,他实际上没有查看有关其余额的更新数据,并允许基于可能未更新的数据进行操作。

我是否错过了这种针对经常变化的数据的方法 (PWA) 的某些内容?

Ana*_*and 2

PWA 并不意味着您捕获整个页面。作为开发人员,您可以选择要缓存的内容。可以完成两种类型的缓存。

1) 静态内容缓存,又名应用程序外壳缓存 - 就像您的 HTML/CSS/JS 和图像文件。当更改发生时,可以使用服务工作人员刷新此值(将在后台发生,无需用户执行任何操作)。即使对于银行交易页面之类的网站也可以这样做。

2) API 数据缓存 - 这是您缓存动态数据(例如来自 Web 服务的 JSON 响应)的位置。如果负责任地显示信息,甚至可以在银行交易页面上实现这一点。比如说,在交易之上,您可以以一种很好的提示方式显示一条消息“截至 2018 年 6 月 6 日下午 5 点 11 分的交易”,以便用户知道他没有看到实时数据,但他/她可能会很高兴看到旧交易(如果这就是他正在寻找的东西)。

或者,您可以完全忽略缓存动态数据,例如 API 响应或服务器呈现的 HTML,其中包含此类动态数据,而仅缓存静态数据。

归根结底,由您作为开发人员来决定缓存什么内容,即使在这样的动态内容网站中,缓存某些内容也会比没有缓存带来改进。

这是谷歌的文档,对两者进行了解释。