从你眼中看世界
世界就在你手中

Safari 10 中的应用扩展已原生 速度将会更快

2010 年苹果在 Safari 5.0 中引入 Safari Extensions Gallery ,支持开发者在 CSS 和 JavaScript 网页标准上为 Safari 开发扩展插件。2014 年苹果推出 App Extensions 应用扩展,这个架构支持开发者可以在应用内分发的应用部件,用于在核心 OS 特性中注入新的功能。一年之后苹果推出了 Content Blockers,阻止下载任何定义的内容,包括显示广告、图片、脚本、字体、导航元素、弹出式内容、样式表、媒体文件、cookies等。

Safari 10 中的应用扩展已原生 速度将会更快 - 第1张  | CALONYE.COM

在 macOS Sierra 10.12 和 OS X El Capitan 10.11.5 中(安装了 Safari 10),Safari将支持应用扩展(App Extension),构建在标准的 Web 技术——CSS、JavaScript 以及用 Objective-C 或 Swift 编写的原生代码上。

与此前的应用扩展相同,这个新的架构为 Safari 定义了更为广泛的扩展点(Extension point),允许第三方开发者给 Safari 增加新的功能,读取和修改网页内容(比如翻译页面),与原生应用互通,将应用数据整合到 Safari 中,或者是将网页数据整合到应用之中。

开发者课题通过添加工具栏按钮的方式扩展 Safari 用户界面,这个按钮可以用于执行某项指令、或者显示弹出窗口、增加情境菜单项目、注入可改变页面显示方式的样式表(比如修改字体或者文本大小)、注入JavaScript 改变页面操作方式,或者让页面与应用扩展互通。

Safari 10 中的应用扩展已原生 速度将会更快 - 第2张  | CALONYE.COM

根据苹果公司在开发者文件中的介绍,与此前的 Safari Extensions 不同,新的应用扩展能够利用共享资源,安全地与开发者的应用互通。

更重要的是,新的应用扩展架构支持开发者通过 App Store,将他们的 Safari Extensions 作为应用的一部分分发出去。也就是说用户无需再在网页上寻找插件,App Store 中就有。

Safari 10 中的应用扩展已原生 速度将会更快 - 第3张  | CALONYE.COM

macOS Sierra 中的“Safari Extensions…”菜单将能够调出 Mac App Store,显示带有可在 Safari 中使用的应用扩展的应用。对于开发者来说,在 Xcode 中他们就可以很容易地将现有的 Safari Extensions 移动到原生的应用扩展中。

这个变化也使得应用扩展将能够与开发者的应用同步更新,解决了扩展和应用之间不同部件版本产生的兼容问题。因为都可以原生代码编写,Safari应用扩展的运行速度会更快,占用的内存也会更少。

除了应用扩展,Safari 10 还支持网页版 Apple Pay、iPad Split View 可同时打开两个网站、Mac 支持 Picture in Picture 显示 HTML5 视频、在想要使用 Adobe Flash 或 Microsoft Silverlight 的网页上自动切换使用 HTML5 视频。

Safari 10 中的应用扩展已原生 速度将会更快 - 第4张  | CALONYE.COM

总的来说,苹果的应用扩展架构让开发者以一个更加安全的方式去扩展系统级特性,同时也扩大了开发者对整个系统产生的影响。iOS 10 和 macOS Sierra 中还有很多新的应用扩展,支持第三方将新特性添加到各种扩展点上,包括Siri、信息、地图、通知和通讯目录等。

[整理:CALONYE]

未经允许不得转载:CALONYE.COM » Safari 10 中的应用扩展已原生 速度将会更快
分享到: 更多 (0)

评论 抢沙发