苹果最新浏览器引擎WebKit2初探

UI / 业界资讯 /      

uimaker
UI设计师 / 江苏 南京

来源:

+=。

苹果公司今天在其邮件列表中宣布了他们的浏览器引擎Webkit 的最新项目Webkit2。Webkit2 的目标是实现独立进程与非阻断式API。基于Webkit 的Google Chrome浏览器在2008 年推出时就已经实现了独立进程功能,该功能可以防止因某个网页的崩溃而导致整个浏览器崩溃。

IE8 也有一个类似机制防止崩溃,而Firefox 也正联合Electrolysis 展开同样的开发。Mac 操作系统中的Safari 4 则通过将Flash 一类的插件放到单独的进程防止崩溃,Webkit2 则直接将这种能力内置到渲染引擎中。

Webkit2 的另一个目标是实现非阻断式API,这意味着,开发者可以直接借助各种回调函数接收Webkit 视图的消息。

比如,在一个程序中,假如我需要加载一个网页,我可以调用一个诸如loadWebsite 的方法(只是举例),将URL 参数传递给这个方法,接着,给它一个 Callback 函数或一段代码,在网页加载完成后执行。

通过这种方法,每当Webkit2 执行完某个操作的时候,开发者都可以通过Callback 函数及时同它交互,这样,渲染引擎工作的时候,主进程可以继续做自己的事,渲染引擎完成工作会通过Callback 函数通知并执行你预设的代码,让你的程序反应更敏捷。目前,有三种技术可以帮助实现这一目标,消息式客户Callback,策略式客户Callback 以及客户策略设置。还有第四方法,通过代码注入直接同DOM沟通,但这一方法目前还没有具体实施,苹果公司的Anders Carlsson在该项目的主页中对此做了详细阐述。

Webkit2引擎最好的地方在于,任何基于 Webkit2 的产品都可以直接使用这些功能,而不必像Google Chrome那样自己解决,开发者借助Webkit2 可以轻松实现更稳定的产品,目前支持Webkit2 的平台包括Windows 和OS X,Linux 的支持尚提及。

本文来源:Ars Technica

中文编译来源:官方网站

35公里

0
 收藏