我过去一周一直在阅读 Jason Grigsby 的 关于渐进式 Web 应用的新书,这本书令人兴奋。Jason 解释了什么是 PWA 以及它们如何工作,同时出色地介绍了使用它们的商业案例。但您可能正在想,对于您当前正在进行的项目,PWA 可能并非必需。好吧,Jason 认为 **渐进式 Web 应用适合所有人**
您的网站应该是一个渐进式 Web 应用吗?答案几乎肯定是 *是*。即使您不认为您的网站是“应用程序”,渐进式 Web 应用的核心功能也能使任何网站受益。谁会拒绝快速、安全且可靠的网站呢?
我在考虑如何将渐进式 Web 应用应用于我正在进行的项目时遇到的一个挑战是,弄清楚要缓存哪些内容。首页应该被缓存吗?我们要创建一个自定义离线页面吗?在这种情况下,向用户提供哪些有用信息?
Jason 也提到了这些问题,甚至描述了他如何处理自己的项目的这些问题。
对于 cloudfour.com,我们选择只缓存最近查看的页面,因为人们访问我们网站的主要原因是阅读文章。如果我们试图预测某人想要离线访问哪些文章,我们很可能会猜错。如果我们预先缓存了顶级页面,我们可能会迫使使用计量网络连接的用户下载他们永远不会查看的内容…
这对我有很大意义,我意识到离线缓存可能应该根据情况和网站而有所不同。例如,也许一个设计机构的网站可以将大型醒目的首页替换为一个离线页面,该页面只显示该机构的电话号码。或者也许一家餐厅的网站可以缓存食品菜单并使其离线体验,但删除所有图像以确保它对使用计量网络的用户的冲击不会太大。

总之,我认为 Jason 的书非常棒,因为它向我们揭示了所有这些复杂性,以及一整套新的机会,可以改进我们网站的设计和体验,顺便说一下,这是 在这个激动人心的 Web 应用开发新时代中我们应该努力追求的目标。
这本书简直让我大开眼界。Jason 清楚地解释了为什么我一直无法理解渐进式 Web 应用:一开始有 8 个要求,然后是三个,现在谁知道呢?Google 只说让它变得酷炫,但 Lighthouse 说要做到所有事情。但尽管重点不断变化,PWA 仍然存在。Jeremy Keith 的“配套”书籍《Going Offline》也很好,但包含代码(Jason 没有),重点是 Service Workers 的混乱部分。Those List Apart 这些人很聪明!
我还没有读过这本书,但我并不完全同意每个网站都可以从成为 PWA 中获益的说法。
尽管我是 PWA 的忠实粉丝,但作为一个用户,我并不希望随机网站占用我的硬盘空间来存储我不在乎的离线内容。我也不想在有新文章发布时收到通知。
不过,对于我编写应用程序的用户来说,这是一个巨大的优势,但对于我的博客或电子商务网站,我猜访客并不总是需要 PWA(取决于电子商务网站)