Apple|[图]Safari 14引入扩展程序支持 但没多少开发者愿意“折腾”

在 WWDC 2020 上,苹果宣布为 Safari 浏览器引入 Chrome 风格的网页扩展程序(WebExtensions API) 。不过正如 Dan 所指出的:“苹果还是按照自己的模式来运作 。如果你想要发布一个网络扩展,那么它必需在 Xcode 中包装在原生 Mac 应用中 。从应用商城上安装应用也会安装网络扩展” 。

Apple|[图]Safari 14引入扩展程序支持 但没多少开发者愿意“折腾”
文章图片

Safari 14(支持在 Big Sur、Catalina 和 Mojave 上运行)理论上可以让基于 JavaScript 的 Chrome、Firefox、Edge 和其他浏览器的开发者带来大体相同的代码,并将其提供给 Mac 上的 Safari 用户 。

Apple|[图]Safari 14引入扩展程序支持 但没多少开发者愿意“折腾”
文章图片

可是,如果扩展开发者不愿意做额外的工作以便于在 Safari 中运行,这一切可能都是徒劳的 。现在距离 Safari 14 发布已经过去数月时间,那么有多少开发者愿意“折腾 Safari”呢?
答案是基本上没有--至少目前来看是没有 。目前在 Mac App Store 上提供的 Safari 扩展库基本上都是 Safari 14 发布之前的那些东西,只有少数例外 。
PocketTube 是一个专注于 YouTube 的扩展,最近增加了对 Safari 的支持 。OneTab 将打开的标签页合并到一个页面中 。Blue Canoe Dictionary 则让你高亮显示英语单词,并学习它们的发音 。

Apple|[图]Safari 14引入扩展程序支持 但没多少开发者愿意“折腾”
文章图片

OneTab

Apple|[图]Safari 14引入扩展程序支持 但没多少开发者愿意“折腾”
文章图片

Blue Canoe Dictionary
Blue Canoe Learning 的托尼·安德鲁斯(Tony Andrews)表示,Blue Canoe 很乐意将其扩展功能移植到 Safari 上,其动机是能够接触到所有那些之前无法使用 Safari for Mac 的用户 。他告诉我说:"如果你已经熟悉苹果的开发者工具和生态系统,这肯定会有帮助 。"他还表示,这个过程非常顺利 。
安德鲁·亚伯拉罕·亚伯拉罕维茨(Andrew Abrahamowicz)是优秀的 Library Extension 的开发者,它可以将当地图书馆的图书供应情况覆盖在亚马逊等网站的图书相关页面之上 。Abrahamowicz 开发 Library Extension 已经有十年了,虽然它还不支持 Safari,不过他正在努力 。

Apple|[图]Safari 14引入扩展程序支持 但没多少开发者愿意“折腾”
文章图片

Library Extension
Abrahamowicz 表示,Library Extension  并不是他的主业,因此他能付出的精力也非常有限 。当然,支持一个新的平台需要很多额外的工作 。不过 Abrahamowicz 最近得到了一台新的 M1 Mac,并开始了 Safari 版 Library Extension 的开发工作 。
除了需要用 Xcode 进行设置之外,Abrahamowicz 还必须处理苹果对扩展的一些特定的安全限制,这可能需要他实际编写一些 Mac专用的代码,以便让 Safari 版的 Library Extension 拥有和其他平台上一样的功能 。
从 Abrahamowicz 可以看到很多问题,例如时间有限,无法使用苹果的硬件,不熟悉苹果的开发工具,Safari与一些现有的扩展开发工具不兼容,以及为了适应苹果的安全模式而需要对代码进行一些修改 。
即便是最流行的扩展程序,也像Library Extension一样,是某个人在业余时间自己挠痒痒的产物 。如果这个人不使用Safari,甚至不拥有 Mac,那么很难想象他们会做额外的工作,将自己的扩展带给 Safari 用户 。
其中一个典型的例子就是 Beyond20 。这款扩展程序能够将 D&D Beyond 角色表与 Roll20 等虚拟桌面服务连接起来 。在 Mac 设备上如果想要使用它,外媒编辑就不得不切换到 Chrome 或者 Firefox 。
Beyond20 项目负责人 Youness Alaoui 写道:“不幸的是,它不会登陆 Safari 了 。因为我平时不使用 Safari,而且它并不是基于 Chromium 的,所以需要额外的工作才能让它在 Safari 上运行 。甚至微软也联系过我,要求将扩展添加到 Edge 商店(不需要任何改变),我正在犹豫,因为在发布时向另一个网站提交软件包会带来额外的费用 。让它与 Safari 一起工作本身就是一件令人头疼的事,我想我永远不会准备好 。对不起!Alaoui 不愿意在 Safari 上运行 。”
Alaoui 不愿意将他的扩展提交给微软的目录,说明了一切--对于一个本质上是激情的项目来说,这需要更多的工作,以及对持续支持的承诺 。据推测,还有99美元/年的苹果开发者账户费用,这超出了很多此类项目的范围) 。
好消息是,如果一个扩展是一个开源项目,可能只需要一个积极的粉丝就可以让它在 Safari 上运行 。用于 JavaScript 的 Vue 开发者工具无法在 Safari 上运行,但有人正试图获得社区资金,以支付某人使其运行 。这需要一个有时间或金钱的社区--以及一个认为值得做的开发者--但这并非不可能 。
那么最后,苹果宣布支持Safari中的WebExtensions API的净效果是什么呢?这是一项正在进行中的工作 。App Store 中已经出现了极少数的扩展,而且似乎很有可能其他的扩展会以自己的速度跟进 。其他开发者仍旧完全不为转移到Safari所带来的所有额外工作所动 。
【Apple|[图]Safari 14引入扩展程序支持 但没多少开发者愿意“折腾”】在外媒看来,如果苹果最终能将Safari扩展技术带到iOS上,就能迅速推动Safari扩展的应用 。针对 Mac 是不错,但如果他们能针对 iPad 和 iPhone,我们可能真的会有一些收获 。

    推荐阅读