安装延迟
摘要
本文讨论了Webkit对可安装网页应用API的反对,突出了其立场的不一致以及iOS上的当前可用性问题。
<p><a href="https://lobste.rs/s/pgzlof/stalling_installing">评论</a></p>
查看缓存全文
缓存时间: 2026/09/15 09:12
# 安装停滞
来源:https://adactio.com/journal/22757
我是万维网联盟\(W3C)的受邀专家。
这听起来很厉害,但并非如此。任何人都可以成为受邀专家。我现在就是证明。你可以申请成为受邀专家,一旦申请通过,你就加入了。所以你也能够而且很可能应该成为W3C某个工作组的受邀专家。
我强烈被鼓励成为Web应用工作组(https://www.w3.org/groups/wg/webapps/)的受邀专家,此前我就可安装的Web应用(或渐进式Web应用或其他什么)的问题发表了看法(https://github.com/w3ctag/design-reviews/issues/1245)。
上周我参加了我的第一次会议,但不是和Web应用工作组,而是和(https://tag.w3.org/)技术架构组,这是一个元小组,当其他小组遇到宏观问题时提供帮助。
在安装Web应用方面,确实存在宏观问题。
虽然大多数参与者(读作:浏览器制造商)想花时间决定实现哪些API以支持可安装的Web应用,但WebKit正在拒绝这项工作的前提。
在上周的会议上,WebKit概述了他们的立场(https://github.com/WebKit/standards-positions/issues/619#issuecomment-4448282291):不应该有办法让开发者允许用户安装当前网站。他们说,这应该交给浏览器处理。而且,用户真的想要这个吗?看数据,似乎并非如此。
如果已经有可用的方式来安装Web应用,这将是一个合理的立场。但事实并非如此(https://adactio.com/journal/18252)。从*技术*上讲,可以将网站添加到iPhone的主屏幕。但实际上,这是一个复杂且用户体验糟糕的过程。
(很难不陷入阴谋论的范畴,将其视为某种恶意合规。特别是当你将其与原生应用如何通过“智能应用横幅(https://developer.apple.com/documentation/webkit/promoting-apps-with-smart-app-banners)”(更被称为dickovers(https://daringfireball.net/2026/05/what_is_a_dickover))强加给你时相比。)
因此,如果Mobile Safari的用户已经有合理的方式安装Web应用,WebKit的立场就完全说得通了。但事实并非如此。
上周的会议非常有启发性。它显示了WebKit立场中一些令人难以置信的认知失调。让我解释一下……
一方面,他们说,安装Web应用有点像书签。这是真的。我们没有用于书签的API,为什么应该有用于安装Web应用的API?
如果书签和安装的用户界面有任何可比性,这将是一个合理的观点。但书签实际上位于用户浏览器体验的最前端,并由数十年的惯例支持。而安装Web应用的选项则隐藏在“共享”图标背后的第五层菜单里。
此外:我们**不是**在谈论用于*安装*Web应用的API。我们谈论的是用于*初始化*安装Web应用流程的API——正是那个从隐藏菜单项触发的相同流程。而且这个流程一开始就有明显的取消选项。所以,不要危言耸听,说什么用户会被诱骗将Web应用添加到他们的主屏幕。
这引出了另一点……
WebKit担心允许安装的Web应用访问更强大的API。他们不想这样完全正确!从主屏幕启动的Web应用不应该有任何特殊权限。如果它想要访问,比如地理位置,用户需要像在浏览器中一样授予权限。
那么,为什么,为什么Apple限制推送通知仅限于已安装的Web应用(https://adactio.com/journal/19911)?
并非其他浏览器没有实现基于权限的API,比如推送通知。但显然,将通知限制为已安装的Web应用是Apple能想到的实现此API的唯一安全方式。
你看到了矛盾,对吧?
一方面,WebKit说安装Web应用就像书签。没什么大不了的。
另一方面,WebKit说安装Web应用会授予特殊权限。这可是大事!
到底是哪一种?
这几乎就像是WebKit实际上并非真诚参与,而是早已下定决心在任何这类问题上拖拖拉拉。
总之……
在上周的会议上,我据称代表开发者的利益。压力不大!
我不能声称代表所有开发者,但我喜欢认为我相当典型地代表了一个非常热爱万维网的普通开发者。所以在分配给我的十分钟发言时间里,我说:
- 开发者会*非常欢迎*一种启动安装流程的方式。替代方案是提供(https://thesession.org/app)特定于浏览器的说明——这总是一个坏兆头。
- 如果浏览器提供了一种明显且可用的方式来启动安装流程,这种需求就不会如此紧迫。
- 用户应该有安装Web应用的选项,就像他们有安装原生应用的选项一样。从*技术*上讲,两种选项都可用,但*实际上*天平非常、非常严重地倾向于原生应用。
- 原生应用与Web应用的安全模型不同,允许它们更多地访问用户数据。如果(https://www.w3.org/mission/security/)安全性和(https://www.w3.org/mission/privacy/)隐私是W3C认为对用户重要的价值观,他们应该尽其所能地帮助将天平扳回到Web应用的方向。
相似文章
@tom_doerr: 直接安装iOS应用到设备,无需App Store https://github.com/Lakr233/AssppWeb…
AssppWeb 是一个基于网页的开源工具,允许无需App Store直接将iOS应用安装到设备。它采用零信任架构,凭据通过WebAssembly在客户端处理。
"在应用中运行更佳"
本文批评 Google 的应用不完善,特别是 Google Calendar 应用中无法订阅日历的问题,并讨论了半成品应用开发以及推动使用应用而非网页浏览器的更广泛议题。
去劣质化第二部分:绕过App Store的看门人
本文详细介绍了LG WebOS如何在启用广告拦截器时锁定应用商店来强制执行遥测要求,展示了GDPR下的强制同意问题,并提供了绕过此看门人的方法。
卑微的赞美
对苹果Safari 27和iOS 27营销的批评,指出尽管宣称注重质量,但根据Web平台测试的长期衡量,Safari的改进仍落后于Firefox和Chromium。
引用约翰·格鲁伯
约翰·格鲁伯讨论了苹果的竞争优势正在减弱,因为越来越少的开发者有动力为苹果平台打造独家的高质量原生应用,导致第三方软件质量向行业平均水平回归。