
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
在WWDC 2020上,苹果宣布为Safari浏览器引入Chrome风格的网页扩展程序(WebExtensions API)。不过正如Dan所指出的:“苹果还是按照自己的模式来运作。如果你想要发布一个网络扩展,那么它必需在Xcode中包装在原生Mac应用中。从应用商城上安装应用也会安装网络扩展”。
Safari 14(支持在Big Sur、Catalina和Mojave上运行)理论上可以让基于JavaScript的Chrome、Firefox、Edge和其他浏览器的开发者带来大体相同的代码,并将其提供给Mac上的Safari用户。
可是,如果扩展开发者不愿意做额外的工作以便于在Safari中运行,这一切可能都是徒劳的。现在距离Safari 14发布已经过去数月时间,那么有多少开发者愿意“折腾Safari”呢?
答案是基本上没有--至少目前来看是没有。目前在Mac App Store上提供的Safari扩展库基本上都是Safari 14发布之前的那些东西,只有少数例外。
PocketTube是一个专注于YouTube的扩展,最近增加了对Safari的支持。OneTab将打开的标签页合并到一个页面中。Blue Canoe Dictionary则让你高亮显示英语单词,并学习它们的发音。
OneTab
Blue Canoe Dictionary
Blue Canoe Learning的托尼·安德鲁斯(Tony Andrews)表示,Blue Canoe很乐意将其扩展功能移植到Safari上,其动机是能够接触到所有那些之前无法使用Safari for Mac的用户。他告诉我说:"如果你已经熟悉苹果的开发者工具和生态系统,这肯定会有帮助。"他还表示,这个过程非常顺利。
安德鲁·亚伯拉罕·亚伯拉罕维茨(Andrew Abrahamowicz)是优秀的Library Extension的开发者,它可以将当地图书馆的图书供应情况覆盖在亚马逊等网站的图书相关页面之上。Abrahamowicz开发Library Extension已经有十年了,虽然它还不支持Safari,不过他正在努力。
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所带来的所有额外工作所动。
在外媒看来,如果苹果最终能将Safari扩展技术带到iOS上,就能迅速推动Safari扩展的应用。针对Mac是不错,但如果他们能针对iPad和iPhone,我们可能真的会有一些收获。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!