在WWDC22主题演讲中,苹果宣布了一项新的网络推送服务,该服务将改善网络应用程序的通知。但回顾过去,苹果在Web技术上总是有自己的想法。
从明年开始,苹果的iOS 16/macOS 13 Ventura将大大改善Safari浏览器的Web应用体验。
iPhone之初,苹果创始人乔布斯反对在设备上运行第三方应用。他希望开发者能够开发出可以在Safari浏览器上使用的网络应用。
HTML5等Web标准是使其成为应用程序可行平台的关键。这种类型的标记语言可以构建多媒体内容和交互式元素。
苹果致力于提高其设备上的HTML5性能。当该公司在2014年推出iOS 8时,它包括了WKWebView,这是一个新的浏览器引擎,允许混合应用程序像原生应用程序一样运行。
乔布斯同意使用HTML5作为Adobe Flash的替代品。当他在2010年写下“关于Flash的想法”时,他赞扬了网飞和YouTube等公司转向HTML5视频内容。
苹果还鼓励在iOS 13上使用网络应用,从App Store中清除了低质量的应用,并表示一些特性和功能最好通过Safari浏览器提供。
批评者的主要指责是,苹果将用户从Web应用推向支持本地应用和规则的App Store应用商店。
2008年推出时,苹果对发布在App Store平台上的应用收取30%的费用。乔布斯称赞了本地应用程序,说它们比基于网络的应用程序更好。
这一直是诉讼的主题,但不是申请辩论的唯一方面。在Telegram Web开发人员今年4月分享了iOS Safari浏览器的10个列表问题后,Telegram的创始人帕维尔·杜罗夫就此事写了一篇帖子。
《帕维尔·杜罗夫邮报》于6月13日发表,称英国监管机构竞争与市场管理局(CMA)的评论提供了“准确的总结”。
英国的CMA已经对苹果的移动生态系统进行了一年的研究,它关注的是iOS上的浏览器,这是应用程序争论的另一个方面。
苹果的第三方浏览器引擎是被禁止的,所以iOS和iPadOS上的所有浏览器都是基于苹果的WebKit引擎。所以CMA说苹果没有什么动力去改进WebKit引擎,从而扼杀了消费者和商家。
苹果的目标是抵御竞争对手,比如谷歌的Blink浏览器引擎,这是开源Chromium项目的一部分。它的既定使命是让网络成为获取信息的中心。
谷歌Chrome在除iOS之外的所有平台上都使用Blink引擎。iOS版Chrome使用WebKit引擎,这意味着谷歌已经被迫追赶苹果。
WebKit也是开源的,这个项目旨在成为浏览器和应用程序的通用内容引擎。据悉,苹果认为浏览器应该坚持显示内容,而不是运行应用。
但是开发者想要Web应用,因为它们可以在任何平台上运行,没有app store的规则和限制。
苹果已经改变了主意,目前正在推进,尽管速度缓慢。正如今年6月WWDC主题演讲中透露的那样,苹果操作系统中的网络应用体验将得到改善。
而且,不一定要加入苹果开发者计划才能发送网页推送通知。
网页推送
这个功能要到2023年才会出现。它由推送API、通知API和服务工作器组成。
Worker是代表Web域运行的一段JavaScript代码,它独立于打开的浏览器选项卡。
未经用户许可,网站不得推送通知。网站只能请求推送订阅来响应鼠标点击或按键。
用户可以单击订阅按钮,然后在出现的权限对话框中单击允许。网站的通知开关会在设备设置里找到,就像原生应用一样。
推送API使用JavaScript接口来允许网站使用推送订阅。ServiceWorker API支持推送消息,而Notifications API允许服务工作者在不打开浏览器的情况下推送通知。
在macOS 13 Ventura中,可以安装新的webpushd程序作为LaunchAgent。它接收来自网页的推送订阅请求,并使用苹果的推送通知服务将其转换为推送订阅。
因此,Web应用程序会感觉更接近本机应用程序。使用Safari中的“共享”菜单,用户可以将Web应用程序页面添加到主屏幕以融入其中。
苹果正在改进其网络应用,可能想通过这种方式安抚开发者或监管机构对其严格控制App Store的过度关注。苹果也可能会采用这些Web应用作为二级生态系统,但它仍然不想被迫开放iPhone端加载的原生应用。
评论前必须登录!
注册