2

从Addy OsmaniJake Archibald等开发人员的谈话中,我对离线优先、渐进式 Web 应用程序很感兴趣。然而,当我看到这些时,似乎总是在 Web应用程序的上下文中,有人会使用 SPA 来构建聊天应用程序、照片应用程序,并与来自 API 端点的数据进行交互。

我通常与使用 CMS 构建 10k+ 页面的客户合作,这些页面具有各种长度和组合的各种不同内容:所见即所得的内容、横幅、表格等。

对于 CMS 驱动的工作,离线优先、渐进式 Web 应用程序是否可行?如果是这样,要考虑保持渐进增强的最佳实践是什么?

4

1 回答 1

2

简而言之,Progressive Web Apps 是一个具有良好 UX、响应式 UI 的网站。它必须Service Worker带有一个manifest.json.

对于 CMS 驱动的工作,离线优先、渐进式 Web 应用程序是否可行?如果是这样,要考虑保持渐进增强的最佳实践是什么?

因此,如果您的目标是 CMS,您的问题很可能是:

1. 是否可以集成Service Worker到 CMS 驱动的工作中?

答案是肯定的,无论服务工作者的前端还是后端离线优先技术都不关心在任何一方运行什么,而只处理来自浏览器的外部请求的“端点”。

例如:

  • 你想让/css/style.css文件在离线时可以加载。
  • 您需要做的就是告诉服务人员缓存此文件,并在网络不可用时使用它。

2. 要考虑保持渐进增强的最佳做法是什么?

  • 这取决于您使用的 CMS(流行的可能已经有 SW 插件)
  • 你更喜欢什么。大多数 CMS 用户更喜欢通过插件或一些自动化工具来处理事情......

...但在我看来,服务工作者的插件总是会受到用例的限制。如果您想使用“推送”、“通知”等其他功能,它可能会使工作复杂化......

=> 所以对我来说最好的做法是“不使用 CMS 插件”(手动编码)

附言

如果你决定按照我的建议去做,GoogleChrome 团队有一个小型 js 库,名为“sw-toolbox”。简而言之,一个简单的网站只需要不到 10 行代码,而这个工具可以启用离线优先功能。(请注意,我不计算后台同步、推送、动态数据缓存......或任何高级功能)

于 2016-05-22T16:49:44.607 回答