关于前端:Service-Worker-在-PWA-中的应用

有些开发人员认为,应用 Web 应用程序 PWA 个性的最大收益是利用程序安装横幅,即 app install banners.

开发人员能够通过正确的启发式办法(hitting the right heuristics)取得,其余的基本上都是营销。

PWA 起步于 Google,因而 Android 比 iOS 平台相比对其反对更加欠缺。

在 Samsung Internet 中,有一个称为 ambient badging 的性能。 如果浏览器检测到该页面是 PWA,它会动静更新 URL 栏中罕用的书签图标,将其更新为非凡的 + 图标,为用户提供一个简略的快捷方式将其增加到他们的主屏幕。 当初在 Android 版 Chrome 中,实际上取得了一个真正的 Android 应用程序——具备其新的 WebAPK 性能。

当用户在主屏幕上装置 PWA 时,它会主动创立一个轻量级的 Android 应用程序包装器,因而该应用程序实际上呈现在应用程序列表中,并且是真正的一等公民。

PWA 的外围是 Service Worker. 这是浏览器和服务器之间的代理层。 所有浏览器申请都通过它。Service Workers 能够拜访用于 Web 资源的缓存存储和用于数据的 IndexDB.

例如,零碎能够接管浏览器申请,而后查看网络状态,而后从存储中检索数据,而后以某种形式解决它们并将后果返回给浏览器。 浏览器会认为它与网络资源一起工作,但实际上它被拦挡了,而是从本地离线存储中检索后果。

开发人员能够在 isServiceWorkersReady 中查看不同浏览器的就绪状况。

在 iOS 11.3(2018 年 3 月 30 日)中,Apple 默默地增加了对 渐进式 Web 应用程序(PWA) 理念背地的一组根本新技术的反对。 具体来说,iOS 反对 Service Workers 和 Web App Manifest 标准。 然而,从 Apple 的角度来看,PWA 只是主屏幕上的网络应用程序`,图标是 WebClip。

如果开发人员须要一个仅蕴含 PWA 的本机应用程序,能够应用 https://www.pwabuilder.com/ 从 PWA 创立它。 对于 Windows,它会生成 .appx,能够将其发送到 Windows 开发人员核心。 对于 Google,它创立了一个 Java 包装器应用程序,其中包含 PWA 利用。 开发人员能够在 Android Studio 中编译此我的项目,并将包上传到 Android Dev Center。

对于 Apple,它会生成一个 XCode 我的项目。 编译实现后,能够将包发送到 Apple Store。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理