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 上运行 。”

推荐阅读