为什么我现在这么讨厌Safari浏览器?

如果要说开发者最讨厌的东西,IE浏览器肯定是首当其冲。原因其实很简单,因为IE的设计已经严重过时,无法支持现代网站和Web应用中常见的各种前沿Web API和技术。但现在,IE已经成为过去,微软推出了更新更先进的浏览器替代品Edge。

IE重出江湖后,最讨厌浏览器的“桂冠”马上有了继任者——苹果Safari。

同样,Safari在支持现代Web API和功能方面一直落后于其他竞争对手,这直接导致我们的工程师很难在各种主流浏览器(Chrome、Edge、Firefox和Safari)上实现统一的产品体验。

今天早上看到这篇文章,Reddit上的编程模块排名第一。作者Perry Sun是一家创业公司的产品营销经理。他的观点不一定正确,但希望能给你一些启发。

另外,大家在Reddit上的讨论很热闹,可以上去看看。

渐进式Web应用程序

现在我们探讨了如何在浏览器上实现与原生应用高度统一的应用体验。

这一切的实现依赖于所谓的渐进式Web应用程序(PWA),这是一套现代浏览器技术,允许开发者在网站上构建外观、感觉和执行与智能手机、平板电脑或台式机上的原生应用程序高度相似的Web应用程序。

渐进式Web应用程序非常酷,甚至可以实现以下以前属于本机应用程序的功能:

渐进式Web应用程序不需要编译或提交到app store进行审批。如今,主流应用如星巴克、Twitter和优步都选择渐进式网络应用作为载体。

苹果在Safari中支持渐进式网络应用程序的速度缓慢有其自身的原因。他们一直在严格限制渐进式网络应用的功能,比如禁止这类应用发布系统通知或者在主屏幕上添加快捷图标。

这还不是全部。iOS唯一支持的网页渲染引擎是苹果自己的WebKit。任何第三方iOS浏览器(包括Chrome)都只能使用WebKit,不得匹配任何其他引擎(这一点在Windows、Android或MacOS上不受限制)。WebKit是iOS系统上渐进式Web应用的管理功能源。

苹果为什么要限制渐进式Web应用的Web API?冠冕堂皇的理由当然是用户隐私,但这恐怕只能相信一半。

很多朋友应该能想到,一旦功能齐全的渐进式Web应用得到全面支持,iOS应用商店将面临巨大的竞争。只有当app正式上架App Store,苹果才能从App本身或应用内购买的所有购买交易中抽取30%。

不久前,关于苹果不愿意支持渐进式Web应用的争议主要集中在Web开发者社区。但如今,随着Epic与苹果的反垄断诉讼升温,问题终于暴露在公众视野中。

最终,苹果可能会被迫全面扩大对渐进式网络应用的支持,或者向其他第三方iOS浏览器敞开大门。但官司结果如何,只能拭目以待。

用一招“拖”对付WebRTC

Web开发人员和工程师一直抱怨Safari不能像其他浏览器一样支持重要的Web API和CSS功能。

一位Reddit用户曾抱怨说,...苹果根本不在乎什么现代API。渐进式Web应用?流媒体应用?滚开。但是,苹果兄弟,我们真的需要这一切。”

以WebRTC为例,主要用于支持Web上的视频和音频通信,也经常用于发送文件和* * *欣赏屏幕内容。

苹果花了几年时间才真正将WebRTC支持引入Safari,远远落后于Chrome和Firefox,这让Safari成为开发者甚至行业观察家的笑话。

虽然支持终于来了,但是众所周知,WebRTC在Safari桌面上的效果远不如其他浏览器。开发者发现,WebRTC在iOS中的支持甚至是一塌糊涂,甚至是无可救药。

此前有人批评Safari不支持VP9视频编码器或WebP图像压缩格式。但好消息是,直到2020年底,相关支持终于推出。但老问题还在——和其他主流浏览器相比,上线时间太滞后了。

如今,一个新的问题再次摆在苹果面前——是否联合一切力量支持AV1视频编解码以及相关的AVIF图像格式。但这也很困难,因为苹果可以从有竞争力的编解码器HEVC那里获得专利费,而且它也是HEIC图像格式的大力支持者。

bug频发,更新不及时。

许多开发者在论坛上抱怨说,Safari在Web API和CSS函数的实现上有很多bug,但苹果解决它们的速度非常慢。

“苹果公司不是世界上最富有的公司之一吗?拿点钱出来,解决问题!”Reddit上的一个用户这样说。

更令人沮丧的是,与Chrome或Firefox不同,Safari根本没有固定的更新周期。其更新频率与底层操作系统一致,如此长的更新周期对于网页浏览器来说简直令人发指。

就连微软也有胆量自动更新其Edge浏览器。你呢,苹果?

也许一切都会改变。

请不要误解我。Safari是一款优秀的网页浏览器,性能强大,隐私功能可靠。

但与此同时,对核心Web技术和API的支持能力之差,令人困惑和反感。

iOS的巨大人气,再加上苹果不断用各种手段阻止开发者在多个平台上打造统一优秀的Web体验,更是令人气愤。

我们可以理解这背后的原因。毕竟,苹果已经决定将命运押在服务收入上,因此应用商店产生的应用程序/内部购买将至关重要。

面对公众压力,苹果总是妥协。所以在可预见的未来,相信苹果会参考用户的意见,对Safari的设计思路进行一些有分量的调整。期待苹果的行动。