苹果公司今天在其邮件列表中宣布了他们的浏览器引擎 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 Inside WebKit2: less waiting, less crashing
中文编译来源:锐商企业CMS 网站内容管理系统 官方网站
本站新闻禁止未经授权转载,违者依法追究相关法律责任。授权请联系:oscbianji#oschina.cn
本文标题:苹果最新浏览器引擎 WebKit2 初探
1 收藏
分享
加载中

最新评论 (1)

谷歌,分支出来吧!
2010-04-10 18:40
0 赞
回复
举报
其他人还在看
近日,微软官方宣布旗下的集成开发环境 Visual Studio 将原生支持 WSL 2,这意味着 VS 用户可以在 WSL 2 上进行无缝构建和调试,而无需添加 SSH 连接,提升运行效率。 据悉,微软曾在 2019 年将 Visual Studio 原生支持 WSL 1,即所有命令都通过 wsl.exe 在本地端执行,WSL 会从 /mnt 文件夹下的 Windows 磁盘存取数据。...
Deno 作者 Ryan Dahl 和另一名核心开发者 Bartek Iwańczuk 发表博客回顾了 Deno 的 2020,其中主要的事件包括:API 稳定、对多项大型基础设施进行重构以及发布 1.0 正式版等。 Deno 是作者 Ryan Dahl 在 Node 之后的又一大作,它是基于 V8 引擎的运行时,用于在 Web 浏览器之外执行 JavaScript 和 TypeScript,其采用 ...
近日,树莓派基金会宣布推出首款微控制器级产品 Raspberry Pi Pico,售价仅为 4 美元。 据官方介绍,很多基于树莓派的项目需要额外集成一些软件读取传感器,包括执行计算、连接网络并驱动执行器等。这种桥接软件和硬件世界的能力为树莓派计算机的持久流行做出了贡献,迄今为止已售出 3700 万台树莓派产品。但是现有的树莓...
MySQL 最新版本 8.0.23 现已正式发布。此版本除了像以往一样解决了一部分 BUG,同样也增添了一些新的功能。具体更新内容如下: 用户管理:授予RELOAD权限,使用户可以执行各种操作,避免了DBA重新加载,并更加详细的定制权限。 连接管理:为了使与TCP客户端连接匹配的帐户的算法更具确定性,在尝试匹配使用主机名指定的帐...
Linux Mint 项目已于近日修复了一个安全漏洞,该漏洞可能允许威胁参与者绕过操作系统的屏幕保护程序及其密码并访问锁定的桌面。 漏洞最初由一位昵称为 robo2bobo 的用户在 Linux Mint 的 bug 报告中提出。robo2bobo 用的桌面系统是 Cinnamon,他表示,自己两个没有任何技术背景的孩子在键盘和屏幕上乱按一通后,就导致了...
Go 团队发布了两个小版本——Go 1.15.7 和 Go 1.14.14。虽然只是小版本的更新,但 Go 团队还是建议用户进行升级,因为这两个版本修复了社区最近反馈的安全问题。 cmd/go:通过 cgo 命令调用的软件包可能会在构建时出现任意代码执行漏洞 受影响的群体包括 Windows 和 Unix 用户 crypto/elliptic:P224() 椭圆曲线加密实现...
StateOfJS 已发布了 2020年的 JavaScript 现状调查报告。今年的 JavaScript 现状调查是该调查的第五版,覆盖了来自 137 个国家的 23,765 位受访者;其中,大约 91% 的受访者被确定为男性,三分之一的受访者年收入在 50,000 美元至 100,000 美元之间。 JavaScript 2020 大调查以象限图表示了 JavaScript 各技术这几年来的...
近日,一个名为 Jingling Tech 的研发团队发布了一个基于 Ubuntu 的平板电脑操作系统 JingOS,称之为“世界上第一个 iPadOS 风格的 Linux 发行版”。 据悉,JingOS 是一款专为平板电脑设计的 Linux 系统,团队将计算器、时钟、文件、媒体播放器等原生应用进行了重新设计以适配平板电脑的滑动操作,此外还可以运行 VS Cod...
1 月 20 日,开放原子开源基金会宣布 UBML(Unified-Business-Modeling-Language)项目代码正式对外开放。目前开放的代码有建模标准(UBML-Standard)及 UBML-Models,包括面向后端开发的核心模型BE(Business-Entity)、VO(View-Model)和服务模型中的 EAPI(External-API)。其团队表示,后续项目在开放原子开源基金会...
“ 2020年11月,百度网盘小程序互转工具WX2,正式开源!” wx2是一个小程序的转换工具,它可以一键将原生的微信小程序转化成百度小程序。作为一种轻量级小程序跨宿主解决方案,wx2同时支持文件和组件维度的转换,提升小程序开发者开发效率,改善开发体验,降低小程序多宿主平台的研发成本。 随着业务发展,小程序在社交类...