offline-caching - 渐进式 Web 应用程序和 CMS 驱动的网站

标签 offline-caching offlineapps progressive-enhancement progressive-web-apps

我对 Addy Osmani 等开发人员的演讲中的离线优先、渐进式 Web 应用程序很感兴趣。和 Jake Archibald 。然而,当我观看这些内容时,它似乎总是处于 Web 应用程序的上下文中,其中有人会使用 SPA 构建聊天应用程序、照片应用程序,并与来自 API 端点的数据进行交互。

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

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

最佳答案

简而言之,渐进式 Web 应用程序是一个具有良好 UX 和响应式 UI 的网站。并且它必须具有带有 manifest.jsonService Worker

Are offline-first, progressive web applications possible for CMS-driven work? If so, what are best practices to consider to maintain progressive-enhancement?

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

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

答案是肯定的,无论前端还是后端离线优先技术,Service Worker 并不关心两边运行的是什么,而只处理来自浏览器的外部请求的“端点”。

例如:

  • 您希望使 /css/style.css 文件在离线时可加载。
  • 您需要做的就是告诉 Service Worker 缓存此文件,并在网络不可用时使用它。

2。要考虑保持渐进增强的最佳实践是什么?

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

...但在我看来,Service Worker 的插件始终会受到用例的限制。如果您想使用其他功能,如“推送”、“通知”...等,它可能会使工作变得复杂...

=> 所以对我来说,最佳实践是“不使用 CMS 插件”(手动编码)

附注

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

关于offline-caching - 渐进式 Web 应用程序和 CMS 驱动的网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37366141/

相关文章:

javascript - 渐进增强/优雅降级和网络应用

ios - 哪些 Firebase 离线功能可用于测验应用程序 (ios)

javascript - Firebase 离线缓存 & 原始 firebase.js 源代码

javascript - 在 webapp 下线时处理销售交易

javascript - 关于如何使就地编辑可降解的任何想法?

google-chrome - Chrome 开发者工具中的 “App banner support”

html - MVC 4 SPA中是否有支持离线场景的JavaScript框架?

Angular 7 PWA - 离线模式下缺少 Font Awesome 图标

javascript - 用于基于信息亭的应用程序的 HTML 5/Javascript

javascript - html5 appcache 添加/删除特定文件