PWAs 不会取代原生 iOS 应用
渐进式 Web 应用(PWA)在 iOS 上正遭遇硬限制,Apple 尤其在其对《数字市场法案》(DMA)的回应下,限制了全屏可安装 Web 应用、持久本地存储和推送通知等能力,EU 用户受到的影响更明显。评论者争论这些缺口究竟是 Web 技术本身的局限,还是为了保护 App Store 收入而刻意制造的平台锁定;他们将 Apple 的做法与 Android 和桌面端更友好的 PWA 支持形成对比。许多人认为,PWA 是一种更便宜、跨平台的应用交付方式,若非如此,一些应用甚至根本不会存在;但也承认在 iOS 上,它们目前只是次一级选择,短期内不太可能取代完全原生应用。
Apple 在 iOS 上对 PWAs 的对待
- 许多人认为,Apple 故意削弱 PWAs,以保护 App Store 收入和把控权(没有静默推送、深色模式失灵、长期存在的 bug、缺少 API)。
- 也有人指出,Apple 在过去约 4 年里增加了大量 PWA 功能,称这削弱了“Apple 想让 PWAs 失败”这一说法。
- 还有人把 Apple 的行为看作典型的“恶意合规”:先只做最低限度的配合,然后当监管迫使真正开放时再把功能收回。
EU / DMA 与 iOS 17.4 的变化
- 在 EU 中,“添加到主屏幕”的 PWAs 被变成了简单的浏览器书签:
- 没有独立窗口,没有持久本地存储连续性,也没有 PWA 推送/角标。
- 有人报告称,在这次变化后出现了数据丢失和通知损坏。
- Apple 的理由是:把 Safari 的 PWAs 与主屏幕集成会“偏向 Safari”而不是其他引擎,违反 DMA。
- 批评者认为,Apple 本可以把同样的集成开放给其他引擎,并把这一做法视为报复和对用户不友好。
- 目前仍不清楚:DMA 在法律上是否要求移除,还是 Apple 选择了对自己最有利的解释。
iOS 上的技术限制与 UX 问题
- 提到的 iOS 端 PWA 当前限制:
- 没有真正的静默推送来同步角标;像延迟通知这样的变通方案也很笨拙。
- 深色模式行为数月来一直损坏或不一致。
- 通过“添加到主屏幕”的安装流程,与应用商店安装相比并不直观。
- 在 EU 版本中,PWAs 失去了全屏、类应用的 chrome 和本地存储连续性,进一步恶化了 UX。
Android 和其他平台
- Android 的 PWA 支持被描述为“好得多”:
- 原生安装提示、beforeinstallprompt 事件、按引擎区分的 PWAs(Chrome、Firefox),以及更可靠的行为(例如明暗模式)。
- 桌面端体验(尤其是 Edge)被认为非常好;PWAs 可以给人“98% 原生”的感觉。
PWAs vs 原生应用(取舍)
- 支持 PWA 的观点:
- 跨平台、一个代码库;避免 App Store 费用、审核和硬件要求。
- 让小型、内部或业余应用至少有机会存在,尤其是在没有付费开发者账号的 iOS 上。
- 即时更新;不需要 100MB 的应用商店下载。
- 支持原生的观点:
- 更好的集成、更顺滑的 UI/动画、更丰富的 API,以及更少的浏览器怪癖。
- 跨平台/Web 技术栈被视为“更便宜但更差”;认真打磨的应用应该是原生的。
- 有人预测一种混合未来:如果 iOS 规则放松,PWA 可能会通过替代应用商店,配合 Tauri/Capacitor 风格的轻量原生外壳。
策略性应对
- 建议包括公开提醒用户,缺失的功能是由于 iOS/Safari 的限制,并鼓励使用“为了获得最佳体验,请使用其他 OS/浏览器”的表述。
- 也有人认为抵制 iOS 并不现实,因为那是大量付费用户所在的平台。