首页>新闻>苹果资讯>苹果Safari明显落后:下一个IE浏览器?

苹果Safari明显落后:下一个IE浏览器?

2015-07-06
7386
来源:网易科技

Web开发者诺兰·劳森(Nolan Lawson)近日撰文指出,苹果在实施Web标准上明显落后于其它的主流浏览器开发商,不少新兴的API技术在Safari上都不见踪影,Safari俨然成了新时代的IE。


苹果Safari明显落后:下一个IE浏览器?


上周末,由诸多Web行业领袖发起的大会EdgeConf。大会设置了不少的研讨会,聚焦新兴的浏览器技术,大家围绕Service Worker、Web Components、Shadow DOM、Web Manifests等相关技术展开了热烈的讨论。


10多位与会者称得上Web社区真正的活跃分子。各家主流浏览器的代表均有出席EdgeConf,如Chrome、Mozilla、IE和Opera。大家也兴致勃勃,接连向主流浏览器开发商们发出诸如何时发出这样那样的API(应用程序接口)的问题。


“屋子里的大象”


倒有一家公司没有出席,他们可以说是没有人愿意提及的那个“屋子里的大象”。大家并没有直呼其名,而是称其为“某家加州公司”或者“某家水果公司”。研讨室中的笔记本几乎都闪耀着那家公司夺目的logo,但却没有一人敢于说出它的名字。没错,说的正是苹果。


Web开发者普遍觉得Safari落后于其它的浏览器,而身处像EdgeConf这样的会议,你对此甚至会有更加强烈的感觉,你会惊讶于它与其它浏览器的差距之巨。上面提到的API目前无一实施于Safari,苹果也似乎没什么意愿那么做。


即便苹果真的采用新出的API,他们也往往只是随便糊弄而已。就以IndexedDB为例,IndexedDB在5年多以前便被提出,2012年开始出现在IE、Firefox和Chrome上。而苹果直到2014年年中才推出IndexedDB,无奈他们的实施却出乎意料的糟糕,大家普遍觉得没什么用处。


如今,一年过后,苹果修复了IndexedDB数个大漏洞中的两个。他们声称IndexedDB不值得花功夫去做,因为它“派不上大用场”。要是浏览器支持方面做得一塌糊涂,当然没有人会去使用IndexedDB啦。


很难理解苹果为什么会那样。他们从不派人去参加Web相关的大会,他们的Safari博客也鲜有更新,因而在一年一度的WWDC(全球开发者大会)开幕之前,没有人知道下一代的Safari会长什么样子。感觉上,苹果俨然圣诞老人——一年降临一次给大家发些备受期待的礼物,至于派什么礼物就无从得知了。老实说,那些礼物近年来也越来越小份了,没什么惊喜。


近些年,苹果Web方面的战略最多只能说是“仁慈的忽视”。虽然凭借JSCore和全新的WKWebView,性能上有了巨大的提升,但各种新生的Web平台特性——线下存储、推送通知和“可安装的”网页应用,Safari却一个都没有。这让人容易将此解读为苹果故意破坏任何对其App Store商业模式的威胁,但这种说法似乎也说不过去,毕竟那部分业务基本收支平衡。另一种可能性是,他们只是在响应iOS开发者的要求——基本上就是:1)引入更多的原生API;2)快速,快速,快速。鉴于苹果一向对内部事宜三缄其口,真相究竟如何谁也说不准。


又一个IE?


事实上,苹果一直以来都不是Web的质疑者。2010年,乔布斯便曾公开讽刺Flash,称HTML5才是未来。苹果当时可谓Web的虔诚信徒。很多帮助网页应用追赶上本地应用的早期特性,如ApplicationCache、WebSQL、触控事件和触控图标,得到了开发者的热情拥抱,当中甚至有很多都源自苹果。


同期WebSQL遭弃用,被IndexedDB取而代之的时候,其实有不少的苹果员工站出来积极予以拥护,称其对于网页应用的高效运行不可或缺。从那些争论可以明显感觉得到苹果内部在IndexedDB胜出后的巨大失落感。讽刺的是,苹果几乎是给了开发者削弱其专有平台的各种工具,而反过来,开发者排斥WebSQL,则给了他们重新思考战略和叫停任何Web API新进展的机会。


Application Cache也面临着类似的情况,在不久的将来它可能会被Service Worker取而代之。苹果对于Web还很有兴致的时候,它一度赢得广泛的浏览器支持。不幸的是,它只是个匆匆推出的半成品。要是苹果还是跑在其它公司身后,恐怕Service Worker也会遭受IndexedDB般的命运。

现阶段,Web社区需要接受这样一个事实:Safari成为了新时代的IE。微软最近痛改前非,谷歌在Web领域一马当先,Mozilla一如既往地快步前行。而苹果则像是在一旁独自唱着悲歌。我们是时候公开探讨这个问题了,而不是显得很忌讳,避而不谈。苹果是世界上最具价值的公司,他们还是承受得起一些打击的。


何以应对?


那么,当一家完全控制iOS平台的主流浏览器提供商仍然坚守2010年的模式,表现得若无其事的时候,Web社区能够做些什么呢?我认为有三个主要的解决机制:


1)坚守2010年行得通的东西,并使用Polyfills来支持Safari。通过使用AppCache和PouchDB,你可以得到跟Service Worker几乎一模一样的特性。这种方案应该能够吸引绝大多数的Web开发者。另一方面,这也不失为倒逼苹果,让他们有动力去进行技术升级强化的好方法。


2)使用Service Worker等在Safari上不好使的技术,将其视作推动行业进步。阿莱克斯·拉塞尔(Alex Russell)在“可安装的网页应用”研讨会上发表了一个很好的观点:如果我们开发出了大量使用Service Worker的免费网页应用,而且这些应用在Android上运行得非常好,而在iOS上只能凑合着用,那苹果就会有兴趣采用Service Worker,支持该API。只不过,虽然整体来说这对于Web社区而言室最好的结果,但要说服开发者去编写只能覆盖一半受众的代码绝非易事。


3)为WebKit做贡献。Safari的核心部分毕竟还是开源项目,因而C++开发者没有理由不去亲自实施那些新生的API。该方案主要的问题在于,WebKit并非Safari,苹果还是可以决定不在他们的旗舰级浏览器实施WebKit特性。说回IndexedDB,它早早就获得了谷歌的完好实施,苹果前几年完全可以直接纳入谷歌的实施,但他们却迟迟没有行动,最终自己弄了个漏洞百出的版本。很难保证他们对于其它的外部贡献做出同样的事情。


总而言之,真不知道有什么合适的解决方案。


很多WebKit开发者目前在做的事情值得敬佩,但在我看来,面对苹果,目前最好的策略或许是来硬的,而非来软的。因此,我倾向于采纳上述第二点提到的拉塞尔的解决方案,即开始促进新兴的Web技术的推广。


如果Web社区能够开始构建出一个生机勃勃的网页应用生态系统,将苹果排挤在外,那苹果可能就会不得不像微软那样转而作出改变。不然的话,开发者们就得自甘生活在2010年代的Web当中,任由Safari成为又一个可怕的IE。

标签: Safari 苹果
相关文章
  • 苹果发布 Safari TP 126,加入 macOS Monterey 功能

    今日,苹果发布了 Safari 技术预览版(TP) 126,这是 Safari 的测试版,在 2016 年 3 月推出。苹果在 Safari 测试版中会测试 Safari 正式版中可能会出现的功能。最新 Safari 技术预览版 126 基于 macOS Monterey 全新 Safari 15 开发,包含很多 Safari 15 功能,比如全新标签页,支持标签分组与管理,以及改进 Safari 扩展。Live Text 可以支持对网页上图像中的文字选择和互动,不过这个功能需要 M1 Mac。全新 Safari 技术预览版...

  • 苹果浏览器 Safari 将上线新隐私功能

    在互联网上浏览网页时,广告并不是我们想要得到的产品,而只是在免费获取信息过程中需要付出的一种代价。5 月下旬,苹果宣布在其浏览器 Safari 上推出一项名为“隐私保护广告点击归因”(Privacy Preserving Ad Click Attribution)的新功能,让商家能够跟踪广告的点击和转化情况,同时保护用户隐私。也许你也有过这样的经历:在某电商网站搜索过的商品,然而你浏览其他网站时,网页上的广告也在向你推荐同样的商品。事实上,这并...

  • 苹果Safari技术预览37发布:内含一系列改进

    苹果今天再次为Safari技术预览(Technology Preview)带来了更新,这个以测试性质为主的浏览器是苹果在2016年3月推出的,在Safari技术预览进行测试的功能也有可能加入到未来的Safari中。

  • 苹果发布适用于 macOS Catalina 的 Safari 15 Beta

    据外媒 MacRumors 报道,苹果已经为macOS Catalina 发布了 Safari 15 Beta 版,与 Safari Technology Preview 不同,Beta 版采用了与 macOS Monterey 相匹配的新设计。Safari 15 可在 macOS Monterey 中使用,但当前 macOS 版本 macOS Big Sur 的用户可通过最新的 Safari Technology Preview 版本 128 体验 Safari 15 的功能。这个测试版与 macOS Monterey 测试版或 Safari Technology Preview 分开,使 macOS Catalina 用户也可以...

  • 苹果发布 Safari 技术预览版 132:包含多项错误修复和性能改进

    苹果在今日发布了Safari浏览器技术预览版 132,苹果推出技术预览版主要是为了测试可能在未来引入 Safari 正式版的新功能。据介绍,Safari 技术预览版 132 更新包含了 Web Inspector、CSS、JavaScript、Web API、WebRTC、Rendering、Media 和 Web Extensions 的错误修复和性能改进。不过,苹果指出,在这个版本中,标签组还是不能同步。目前的 Safari 技术预览版是建立在 macOS Monterey 的 Safari 15 更新之上的,因此,它包括多项...