iOS 上的 PWA:我们现在的处境

前端全栈开发者

共 2181字,需浏览 5分钟

 ·

2024-04-11 06:24

苹果试图消灭其 App Store 唯一可行替代品的令人困惑的细节。

1e60a1b36e6fd9012a2986abab61d35f.webp

苹果公司在 iOS 17.4 中彻底破坏了渐进式 Web 应用程序(PWA),给它们造成了巨大的破坏,这让全球的开发者感到沮丧和困惑。这不仅是因为苹果最近改进了对 PWA 的支持,但这一转变令人费解,而且苹果留给我们的局面更令人费解。

在这篇文章中,我将尝试澄清这种困惑。

只有在欧盟

苹果在 iOS 17.4 beta 1 上破坏了 PWA 的消息被泄露后,困惑的开发者开始分享运行违规版本的 iPhone 模拟器的屏幕录制,其中 PWA 仍然安装并运行良好。

唉,在欧盟运行的真实 iPhone 并非如此。

苹果将这一变化限制在欧盟范围内,以遵守 DMA 法规,并通过地理围栏来实现。它使用 SIM 卡来确定用户的位置,并且由于基于软件的模拟器没有 SIM 卡,因此不会出现问题。如果你在欧盟运行一台没有 SIM 卡的新 iPhone,PWA 仍然可以正常工作,据报道,当你取出旧 iPhone 的 SIM 卡并将其保持在飞行模式 24 小时时,PWA 仍然可以正常工作。

无论如何,你需要一个真正的 iPhone 和一张位于欧盟国家的 SIM 卡来体验这个问题。

安装的 PWA 现在只是书签

另一个令人困惑的来源是,您仍然可以在 iOS 17.4 上“安装”网络应用程序,这意味着:用户的主屏幕上将放置一个图标,但责任到此为止。

当您单击该图标时,该应用程序将不再作为没有浏览器 Chrome 的独立 PWA 打开,而是像常规网站一样打开。事实上,这就是将任何非 PWA 网站添加到主屏幕时打开该网站的方式。换句话说,“安装”的网络应用程序并未真正安装,而只是作为书签添加到主屏幕。

目前,对于任何可以在 iOS 上安装 PWA 的浏览器都是如此,因为 iOS 上的所有浏览器底层都是 Webkit 浏览器。

使 PWA 显示像全屏独立应用程序的原因是 manifest.json 文件中的 "display": "standalone" 属性。单击该图标时,会像任何其他网站一样在浏览器中打开没有 manifest.json 文件且已添加到主屏幕的网站。如果它确实有一个带有 "display":"standalone"manifest.json 文件,那么在 iOS 17.4 上它会被简单地忽略,并且 PWA 会被简化为书签。

除了完全破坏 UI 之外,它还禁用了关键的功能。

不再有推送通知

苹果公司一年前才在 iOS 16.4 中添加了对推送通知的支持。除了推送通知的实现不够理想之外,推送通知仅支持已安装的 PWA。

即:已安装的 PWA 作为独立应用程序运行。

现在,iOS 上“安装”的网络应用程序不再是独立的应用程序,而只是网站的书签,不再支持推送通知和徽章。

对不起孩子。

不再有持久存储

持久存储最近才被添加到 iOS 的 Safari 中,但由于它也只适用于以独立模式运行的已安装 PWA,因此您也可以对该功能说再见了。

苹果公司的驱逐政策规定,任何网络应用程序存储的数据如果在 7 天内没有被交互,就会被驱逐,但 PWA 在 iOS 17.4 中变成了网站书签,这一点不再适用于 PWA。

这使得 PWA 完全失去了作用,可能是苹果为其精心准备的棺材上最大的钉子。

安全问题?

苹果声称,通过非 Webkit 浏览器安装的 PWA 存在安全风险,因为 iOS 通过直接构建在 Webkit 安全架构上为 PWA 提供支持,这种安全集成会在应用程序试图访问相机时显示权限提示,并提供隔离存储。

由于非 Webkit 浏览器在 iOS 上没有这种安全集成,通过它们安装 PWA 是不安全的,甚至会导致 PWA 在没有用户许可的情况下被安装。

当然,这是无稽之谈,因为苹果可以构建这样的集成(就像多年来在 MacOS 上所做的那样),但它不想这样做。为了防止被迫构建这样的集成,它抛出了一个技术烟幕弹并试图摆脱它(但看起来它不会)。

按来源分离权限和数据是任何浏览器最重要的核心功能之一,因此除了苹果为保护其应用商店垄断而制造的安全问题之外,不存在任何安全问题。

苹果正试图消灭其应用商店唯一可行的替代方案,该替代方案无需支付不合理的高额费用和任意的准入标准。

不要让他们愚弄你!


翻译自:https://itnext.io/pwas-on-ios-where-we-are-now-fe9f7cdbd111

85ed9f520f2cab5b00f0ea65acfd8c79.webp

最近文章

浏览 12
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报