本文来自微信公众号:CSDN(ID:CSDNnews),作者:郑丽媛,题图来自:unsplash
以前,如果提到开发者最讨厌的浏览器,那必然非 IE 浏览器莫属:兼容性差、安全漏洞频出、缺乏最新的技术支持,又因为许多企业网站都需要 IE 的支持,开发者就算再不乐意,也只能被逼无奈地继续使用 IE。
而这个局面,在微软宣布 IE 浏览器将于明年停用后发生了微妙的变化。IE 浏览器即将退出历史舞台,那么谁将成为下一个开发者最讨厌的浏览器?
答案大概是许多开发者心中倒数第二名的苹果 Safari 浏览器。与其他主流浏览器(Chrome、Edge、Firefox)相比,Safari 在支持现代 Web API 和对 WebRTC 等功能的支持方面较为滞后,这给那些希望能在所有主流浏览器上创建相同产品的开发者带来了许多额外的工作。
一、对 PWA 设有限制
PWA,即 Progressive Web App,渐进式 Web 应用,这是一种现代浏览器技术,开发者可通过 PWA 创建出一个外观和运行体验都类似于智能手机、平板电脑或台式机上本地应用的网站。
PWA 网站可实现以下功能:隐藏浏览器 UI 的全屏运行;操作系统级别的通知和提醒;设备离线时也能使用;本地数据存储和检索;在手机的主屏幕上安装应用图标;能访问如摄像头、麦克风、USB 端口等硬件功能。
这一切都可以通过所谓的 PWA 技术实现,它既不需要编译,也不需要提交到应用商店进行审核,如今国外社交平台 Twitter 和打车应用 Uber 就是最好的例子。
可苹果 Safari 对 PWA 的支持却拖延了很久,甚至就算支持了这项特性,也对它设有一定限制,开发者根本不能完全实现想要的功能,如允许消息通知和建立主屏幕图标快捷方式等——而这仅是苹果众多限制中的一小部分。
那么为什么要对 PWA 施加限制呢?苹果解释说是为了用户隐私,可大多数人都认为苹果是为了确保 App Store 30% 的抽成。毕竟如果有了功能齐全的 PWA 应用,用户可以实现应用内购的话,苹果就无法从中抽取 30% 的利润了。
此前,关于苹果限制 PWA 的争议还仅限于 Web 开发者社区,但近来由于 Epic 诉讼案以及反垄断调查,这个问题已是人尽皆知。迫于监管压力,未来苹果或许会全面扩展 PWA,但考虑到苹果一贯的强势,最终结果如何还有待观望。
二、对 WebRTC 等功能的滞后支持
除了对设限 PWA 多有不满,Web 开发者们还曾对 Safari 一直滞后支持其他主流浏览器都有的关键 Web API 和 CSS 功能十分抱怨。
以 WebRTC 为例,其全称为 Web Real-Time Communication(网络实时通信),是一项能够让浏览器支持实时语音会话或视频对话的技术。这一技术前身为 GIPS,由 Global IP Solutions 公司研发,后来谷歌在 2010 年以 6820 万美元的价格将该公司收购并将 GIPS 更名为 WebRTC,次年将其开源。
在谷歌的推动下,WebRTC 技术迅速在各大主流浏览器中应用起来, Chrome、Firefox、Opera 均加入了 WebRTC 大本营,而 Safari 却与一直为人诟病的 IE 一样,始终不支持这项技术。
直到 2017 年,苹果才在 WWDC17 上宣布 Safari 正式支持 WebRTC 技术。这与 Chrome 和 Firefox 等其他主流浏览器支持这项技术的时间差实在有些过大,因此至今都有些人将此作为苹果的一个“嘲点”。
此外,跟 PWA 一样,即使支持 WebRTC,但与其他浏览器相比,WebRTC 在 Safari 上存在很多问题。例如,Safari 曾不支持 VP9 视频编解码器和 WebP 图像压缩格式(目前均已支持)。
三、解决问题和更新的速度慢
基于以上两个问题,经常有开发者向苹果报告有关 Safari 中实现 Web API 和 CSS 功能中的许多错误,但是,苹果解决问题的速度特别慢。
且不说苹果会不会重视你提出的问题,就算解决了,Safari 也不会像 Chrome 和 Firefox 那样定期自动更新。想让 Safari 快点更新?不好意思,它只能跟着整个操作系统来。换句话说,系统更新有多慢,Safari 解决问题的速度就有慢。这一点上,苹果或许可以向微软学学:同样是系统自带的浏览器,Edge 就采取了自动更新。
不过以上问题的存在并不影响 Safari 是一款优秀浏览器的事实,快速的性能和出色的隐私保护都是其亮点所在。只是 Safari 的这些问题在一定程度上令许多开发者感到头疼,尤其是在如今苹果设备愈发流行的情况下(昨日苹果发布了2021 年第三财季财报,iPhone 销售额增长近 50%),由于 Safari 的不同,他们无法一次性创建出适用于所有浏览器平台的绝佳体验。
那么,你最讨厌哪个浏览器呢?
参考链接:
https://blog.perrysun.com/2021/07/15/for-developers-safari-is-crap-and-outdated/
本文来自微信公众号:CSDN(ID:CSDNnews),作者:郑丽媛