苹果:你甚至可以在 Safari 中使用 Chrome 的插件

发布于:2020 年 9 月 11 日 09:57

苹果:你甚至可以在 Safari 中使用 Chrome 的插件

苹果于近日宣布,Safari 将采用与 Chrome、Firefox 和 Edge 相同的扩展技术 WebExtensions API。

Chrome 有着庞大的扩展生态系统,各种各样的扩展程序为 Chrome 提供了诸多便利的功能,使得 Chrome 深受用户和开发者的喜爱,其他厂商也纷纷尝试在自家浏览器中加入扩展程序功能。为了让开发者不需要写多套代码,Mozilla 发布了 WebExtensions API。WebExtensions API 主要基于 JavaScript、HTML 和 CSS,可以重新打包并在 Chrome、Firefox 和 Edge 等其他浏览器中使用。据 Mozilla 的官网介绍,该 API 旨在:

  • 使附加组件在各浏览器之间的移植变得更容易;
  • 审查 addons.mozilla.org (AMO) 的附加组件变得更容易;
  • 加强多进程 Firefox 的兼容性(例如 Electrolysis 项目);
  • 对 Firefox 内部代码进行更改时不会破坏附加组件;
  • WebExtensions API 应该比现有的 Firefox XPCOM/XUL API 更容易使用;
  • WebExtensions API 应该保持可接受的安全和隐私标准。

随着主流浏览器都采用 WebExtensions API,这项扩展技术也逐渐成为了不成文的标准,既方便用户从一个浏览器切换到另一个浏览器,又可以提高前端开发者的开发效率。最早使用这一 API 的是 Firefox,从 v57 版本开始正式采用 WebExtensions API。此后,多家浏览器厂商也纷纷采用该 API,除了苹果。虽然总是被开发者抱怨,但苹果一直没有引入该功能。

近日,苹果宣布 Safari 也可以使用 WebExtensions API 了。苹果此前所使用的 Safari App Extensions 虽然在 macOS 应用程序和 Safari 之间共享代码很便捷,但无法将组件移植到其他浏览器,也无法将其他浏览器的组件移植到 Safari 中。

据苹果官网介绍,开发者需要使用 Xcode 对其进行打包,以在 Safari 中进行测试,同时开发者需要是 Apple Developer Program 的成员才能将项目上传到 App Store。创建 Safari Web 扩展程序,有两种方式:

  • 将现有的扩展程序转换为 Safari Web 扩展程序。这样可以在 macOS 的 Safari 浏览器中使用该程序并且可以上传至 App Store。开发者可以使用 Xcode 中的命令行工具来简化此过程;
  • 使用内置模板在 Xcode 中构建新的 Safari Web 扩展。然后,开发者可以重新打包该文件,以在其他浏览器中进行部署。

值得注意的是,Safari Web 扩展需要在 macOS 11 及更高版本或者安装了 Safari 14 的 macOS 10.14.6 或 10.15.6 中使用。

苹果为了让用户使用 Safari 做了诸多努力:苹果早些时间修改了“隐私权”偏好设置,可以阻止跨站追踪和阻挡所有 Cookie;加入了“网页翻译”功能等。此次还在 Safari 中引入 WebExtensions API,使开发者可以通过 Safari WebExtension Converter 开发工具将 Chrome 和 Firefox 等浏览器的插件直接移植到 Safari 中。1Password 开发商 Agilebits 也在前不久宣布会将旗下 1Password X 浏览器插件移植到 Safari 上。

根据苹果官方的说法,Safari 在性能方面领先于所有浏览器,比 Chrome 快 50% 以上。同时还拥有更低的功耗,Safari 在视频观看方面比 Chrome 和 Firefox 多出了最高达 3 小时的续航时间,浏览方面多出了 1 小时的续航时间。

苹果:你甚至可以在 Safari 中使用 Chrome 的插件

图片来源于苹果官网

如果 Chrome 中的扩展程序全都可以在 Safari 中使用,你会选择更换浏览器吗?欢迎在评论区分享你的看法。

阅读数:1078 发布于:2020 年 9 月 11 日 09:57

更多 前端、Chrome、Apple 相关课程,可下载【 极客时间 】App 免费领取 >

评论

发布
暂无评论
  • 第 31 讲 | 热点剖析(四):安卓端和苹果端游戏开发有什么区别?

    安卓端和苹果端游戏开发有哪些相同点和不同点?基于这两大平台,有什么通用的开发工具?

    2018 年 7 月 7 日

  • 让人五味杂陈的 Mozilla 插件机制变化

    Mozilla宣布,Firefox插件开发将迎来重要的变革。新的变化包括,推出了WebExtensions API以及新插件在部署之前需经过Mozilla审核并认证。对于Mozilla的声明,开发社区内部反应不一。

    2015 年 8 月 30 日

  • 办公软件的新时代:微软和谷歌的战斗

    在微软的办公软件帝国,Google Docs推出黑马:“云服务”和“协同办公”。但微软却借此成功转型:创新了收费模式。

    2018 年 1 月 31 日

  • 聊聊 Flutter,面对层出不穷的新技术该如何跟进?

    Flutter在保证性能下实现跨平台开发,更是成为谷歌下一代操作系统的UI框架,为移动技术的发展提供了非常大的想象空间。

    2019 年 4 月 11 日

  • GitHub 开源 OpenAPI 规范

    GitHub开源了其API的OpenAPI规范。为了让开发人员能够直接发现API功能,GitHub的OpenAPI支持通过编程的方式创建模拟服务器、测试套件和语言绑定。

    2020 年 9 月 15 日

  • 期待已久的 Firefox 39 最终顺利发布

    尽管由于某个第三方应用的原因导致了一些稳定性方面的问题,但Mozilla最终还是顺利地发布了Firefox 39。此次的发布可谓万众期待,新版本加入了对CSS滚动界限点的支持,还加入了新的共享特性,并且对dev工具进行了改进。

    2015 年 7 月 22 日

  • Firefox 开发者版本终于支持 Windows 64 位

    64位开发版Firefox现在可以在Windows上使用了。

    2015 年 3 月 24 日

  • Mozilla 希望 Web 开发可以取代原生程序

    Mozilla正在构建WebAPI,一组用于在浏览器中调用硬件设备功能的程序接口,而之前,通常只有原生应用才能调用硬件功能。此举意在开发一套跨平台解决方案,让开发人员只编写一次代码,就可以在所有移动平台上运行。

    2011 年 9 月 19 日

  • 无敌寂寞的微软之为创新而创新

    微软终于成了办公软件的霸主,却创新疲软,创收成了问题。微软为创新而创新,利用其垄断地位强推了一套全新UI:Ribbon。

    2018 年 1 月 29 日

  • Servo:开源嵌入式浏览器引擎

    嵌入式浏览器引擎可以嵌入其它应用程序,像常规Web浏览器一样展示内容,并允许开发者自定义用户体验。Servo是一个由Mozilla基金会和三星共同推动的开源嵌入式浏览器引擎项目,旨在为开发者提供最大的灵活性。

    2015 年 6 月 1 日