Progressive Web Apps (PWA)已成为构建网络应用的新趋势。PWA 应用是提供性能更好、速度更快、离线可用以及类似于原生应用的用户体验的网络应用。虽然 PWA 应用是跨平台的,但在 iOS 设备上,某些功能可能受到限制,这会影响用户的体验。在本文中,我们将从 iOS 特定的限制和解决方案方面详细讨论如何提高 PWA 应用在 iOS 设备上的用户体验。
iOS 的限制
首页图标无法动态更改
在 iOS 设备上,PWA 应用的首页添加到主屏幕后,其图标无法动态更改。这意味着,如果您的 PWA 应用的图标更改,主屏幕上的应用图标将不会更新。用户可能会迷惑不解,误认为该应用未被更新或者已停止维护。
iOS 强制使用 Safari 渲染引擎
iOS 设备上所有的浏览器都需要基于 Safari 渲染引擎构建。这意味着所有的 PWA 应用都必须使用此引擎。而且,有一些 Safari 特有的限制会阻碍 PWA 应用的正常行为。例如,Safari 会在用户长时间不访问 PWA 应用时自动将其关闭,导致应用在后台运行时停止服务。
无法收到消息推送
虽然 Safari for iOS 支持推送通知,但 Apple 只允许原生应用在后台接收 Push 消息,而 PWA 应用则不在此范畴之内,这意味着 PWA 应用无法在后台接收通知。
解决方案
通过 web manifest 改变应用图标
即使在 iOS 设备上,您仍然可以通过启用 web manifest 来为 PWA 应用添加图标。 并且,启用 web manifest 后,您可以从 PWA 应用内动态更改图标,此特性对于动态应用的标记或跨产品标记具有重要意义。
----- -------------- ---------------------
- ------- ---- ----- ------------- ---- ----- -------- - - ------ ------------------------ -------- ---------- ------- ----------- - -- -------------- ---------- ------------------- ---------- ---------- ------------ -
使用 Workbox 确保 PWA 应用在后台不被关闭
Workbox 是一个强大的用于构建离线应用或 PWA 应用的 JavaScript 库。Workbox 使得缓存策略的管理变得简单,并且支持路由和预缓存。使得您的 PWA 应用可以持续工作,即使用户在长时间不访问应用的情况下。
使用 Firebase Cloud Messaging 实现推送通知
通过 Firebase Cloud Messaging(FCM),您可以为 iOS 设备提供可靠的消息推送功能。由于 FCM 是由 Google 为您的 PWA 应用提供的服务,因此您需要一个 Google 帐户和一个 Firebase 云服务器来开始使用 FCM。您可以使用 Firebase 提供的辅助库进行快速集成,您也可以使用 FCM API 进行自定义集成。
总结
尽管 PWA 应用在 iOS 设备上有一些限制,但是,您可以利用一些开源解决方案使得您的 PWA 应用在 iOS 设备上能达到类似于原生应用的体验。我们鼓励开发人员将 PWA 应用作为构建网络应用新的方向,并且持续关注 PWA 应用技术的发展,以便为现有和未来的项目做好准备。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/64fd8f0195b1f8cacdce3b54