写点什么

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

2020 年 9 月 11 日

苹果:你甚至可以在 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 中使用,你会选择更换浏览器吗?欢迎在评论区分享你的看法。


2020 年 9 月 11 日 09:572570

评论

发布
暂无评论
发现更多内容

2021年-iOS面试进阶资料总结(备战年后)

iOSer

学习笔记 大厂面试 iOS Developer iOS 架构RxSwift 大厂面试经历

区块链知识产权保护应用,用区块链保护版权

135深圳3055源中瑞8032

阿里首推的“SpringBoot+Vue全栈项目”有多牛X?

Java架构之路

Java 程序员 架构 面试 编程语言

Java虚拟机内存模型

xcbeyond

Java JVM Java虚拟机 28天写作

突破瓶颈,“iOS开发”,跳槽面试必备题(针对年后面试者)

Geek_24a3d9

面试题 简历 ios开发 大厂面试经历 跳槽面试

BAT公认!业界强推企业级SpringBoot开发指南太香了

程序员小毕

spring 源码 架构 微服务 springboot

Spring Boot 中的全局异常处理

武哥聊编程

Java springboot SpringBoot 2 异常处理 28天写作

2020下半年蚂蚁Java开发三面真题:metaQ消息中间件+GC算法+MySQL数据同步

Java成神之路

Java 程序员 架构 面试 编程语言

为什么越南不会成为世界工厂?

JiangX

供应链 工业 28天写作 制造

区块链农产品溯源--实现农产品全程溯源

135深圳3055源中瑞8032

智慧平安小区平台建设,智慧安防系统开发

135深圳3055源中瑞8032

不愧是Github上疯传的腾讯Java全栈进阶笔记!总结的太全啥都有!

Java架构之路

Java 程序员 架构 面试 编程语言

架构师训练营第八周课后作业

万有引力

电商网站商品管理(三)group by+avg+sort等聚合分析

escray

elasticsearch elastic 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

Redis 学习笔记 04:跳跃表

flyer0126

redis 日更挑战 28天写作

面试进阶必备:JVM+Redis+设计模式+SpringBoot.pdf文档资料

Java成神之路

Java 程序员 架构 面试 编程语言

听过闰年闰月,听过闰秒吗?

艾小仙

后端

餐饮品牌资产上链,产业区块链史诗级浪潮已到来

CECBC区块链专委会

餐饮

网络攻防: 爬虫的钳形攻势

东冬

大数据 安全攻防 网络安全 爬虫 安全

2020最新Java面试丨蚂蚁内推三面题目:Full GC++MongoDB+集群部署+分布式锁+秒杀

Java成神之路

Java 程序员 架构 面试 编程语言

区块链赋能物流行业:“圈子文化”下,网络货运的数字化转型之路

CECBC区块链专委会

区块链 区块链物流

深入理解nodejs中的异步编程

程序那些事

多线程 nodejs 异步编程 程序那些事 回调

2021年“区块链+”将会如何发展?

CECBC区块链专委会

区块链

案例研究之聊聊 QLExpress 源码 (八-1)

小诚信驿站

聊聊架构 28天写作 QLExpress源码 聊聊源码

有些软件,听着听着就没了...

艾小仙

互联网

是什么可以在Github上标星85.4K,揭秘阿里Springboot项目笔记!

996小迁

Java 架构 面试 springboot

【CSS】文字特效(text-shadow)

学习委员

CSS css3 html/css CSS小技巧 28天写作

架构师训练营 - 第三周作业

Mark

如何轻松面过阿里社招Java岗,九大核心模块为你保驾护航!(知识点+面经)

Java架构追梦

Java 架构 大厂面试经历 大厂面试知识点 大厂面试题

同事怒怼领导“沙雕“,原来是看了这份Java面试文档,已拿到阿里offer,薪资40K

Java成神之路

Java 程序员 架构 面试 编程语言

沉寂唯品会3年,毅然辞职冲刺阿里,我是怎么备战金三银四的?

比伯

Java 编程 架构 面试 程序人生

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