专栏首页深度学习与python苹果:你甚至可以在 Safari 中使用 Chrome 的插件

苹果:你甚至可以在 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 小时的续航时间。

图片来源于苹果官网

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


本文分享自微信公众号 - InfoQ(infoqchina),作者:李俊辰

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-09-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • REST API工具推荐

    市面上可用的 REST API 工具选项有很多,我们来看看其中一些开发人员最喜欢的工具。

    深度学习与Python
  • API生态的发展与机遇:从5000组数据看中国API生态与开发者现状

    当前,数字化转型已深入各行各业,API——这个曾经的底层代码接口,不仅发展成为产品本身,更成为企业承载价值、连接业务的核心载体,一个由 API 使用者和开发者组...

    深度学习与Python
  • 10个不那么知名但很实用的Web API

    在本文中,我将介绍 10 个不那么流行的 Web API。不那么流行并不意味着它们没有用处。你可以在项目的各种用例中使用它们。

    深度学习与Python
  • 利用线上数据提升移动app质量

    1 线上数据测试模型 1.1背景 随着移动互联网的发展,移动app质量要求越来越高,传统行业质量的保证方式是测试人员在app开发过程中进行阶段性的测试,这种测...

    腾讯移动品质中心TMQ
  • Web3D地图来了!腾讯位置服务JavaScript API GL正式版发布

    ? 腾讯位置服务在半年前推出JavaScript API GL beta版,这期间很多开发者将其采用到自己的项目中,同时为我们反馈使用问题与建议,帮助Java...

    腾讯位置服务
  • windows2016英文版更改中文语言

    在服务器上安装了windows server 2016但是只有英文版,所以试着更改中文版,由于是微软内置了语言设置功能方法很简单,先添加再切换到中文就可以了,这...

    用户1188347
  • 如何在java中去除中文文本的停用词

    第一步:先将中文文本进行分词,这里使用的HanLP-汉语言处理包进行中文文本分词。

    IT小白龙
  • 如何测量并报告ASP.NET Core Web API请求的响应时间

    大家都知道性能是API的流行语。而相应时间则是API性能的一个重要并且可测量的参数。在本文中,我们将了解如何使用代码来测量API的响应时间,然后将响应时间数据返...

    依乐祝
  • 对比Excel,学习pandas数据透视表

    用户1564362
  • 对比Excel,学习pandas数据透视表

    朱小五

扫码关注云+社区

领取腾讯云代金券