找回密码
 立即注册
收起左侧

Qt 将引入新的 Qt WebEngine

4
回复
9073
查看
[复制链接]
累计签到:3 天
连续签到:1 天
来源: 2013-9-13 11:01:19 显示全部楼层 |阅读模式

马上注册,查看详细内容!注册请先查看:注册须知

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

原文地址:http://blog.qt.digia.com/blog/2013/09/12/introducing-the-qt-webengine/

自从 2007 年首次引入 Qt WebKit 以来,Web 技术发生了翻天覆地的变化。依据市场份额,WebKit 开源项目已经成为现在世界上最流行的浏览器引擎。WebKit 的 Qt 版本移植处于 WebKit 的非 Apple 移植中领先位置,多年来,许多项目和公司都加入了这个移植项目。

Chromium 项目在 WebKit 中扮演了特殊的角色,成为 WebKit 的最大的贡献者(接下来两位是 Apple 和 Qt)。但是同一开源项目中不同公司之间的合作从来问题多多,这直接导致 Google 决定离开 WebKit 项目,创建了其自己的 WebKit 分支——Blink。

从那时起,Blink 集成在 Chromium 中,WebKit 分裂成不同的版本。这两个版本的代码很快变得不兼容。正因如此,Digia Qt R&D WebKit 团队决定仔细对比 Chromium 和 WebKit,来决定未来版本的 Qt 使用哪一个来提供最好的 Web 引擎。

在经过一段时间的研究和调查之后,我们得出了结论:我们将在 Chromium 基础之上建立未来的 Web 引擎——Qt WebEngine。有多个原因导致我们做出如此得决定:

  • Chromium 关注于跨平台建设,其浏览器能够运行在所有主流桌面平台和 Android 上;与此同时,WebKit 则不那么专注。我们自己的项目则必须支持所有的 OS 平台。
  • Chromium 沙盒之外提供了很多可做的事情,这对于 WebKit 则需要耗费大量精力。一个例子是,我们可以简单地重用平台/OS的适配代码。多媒体和新的 HTML5 特性,例如 WebRTC 能够运行在此沙盒之外,无需特别的 Qt 代码。
  • 使用 Chromium 可以简化 OS 集成处理,这使得我们可以有更多精力关注于更高层面,提供一个简单而强大的 API,可以无缝集成于 Qt 之中。
  • 我们注意到 Chromium 的开发处于代码质量的严格控制之中。这简化了我们的测试工作,有利于提供更稳定和高质量的 Web 引擎。
  • 比起 WebKir,Chromium 允许我们构建更好更高效的组件和 Qt Quick 场景。

最后,我们注意到 Chromium 是现在发展最快的浏览器。基于 Chromium 构建我们的下一代 Web 引擎是一个战略性的长期的决定。我们相信上面几点理由会让我们提供一个比现在的 Qt WebKit 更好的 Web 引擎。同时,将现在同类中最好的浏览器引擎与 Qt 整合为一个框架将为需要 Web 浏览器的嵌入式设备提供有力的支持。

Chromium 的基础特性之一是处于安全和稳定原因,在不同进程渲染 Web 内容。但是这导致我们现有的 Qt WebKit API 无法为 Chromium 提供核心切面。一个明显的部分就是 QWebElement API。我们还得改变 QObject 嵌入的方式,因为所有 QObject 与网页的交互都要求必须是异步的。

这些改变对 Qt WebKit 用户意味着什么?

首先,没什么可怕的。对于大多数用例,Web 内容都是嵌入到应用程序中的,Qt WebKit 现在工作的很好,以后若干年也会工作的很好。Qt 5.2 发布之后,我们将会集中精力开发新的 Qt Web Engine。所以如果你需要让你的应用或设备支持所有最新最好的 HTML5 特性,在我们发布了你所需要的 API 特性时,你就应该考虑移植到 Qt WebEngine。

我们尽力使 Qt WebKit 到新的 Qt WebEngine 变得简单无缝。对于 Qt Quick WebView 元素,我们基本上能提供一个接近 100% 兼容的 API。对于那些使用基本的 QWebView API 的用户,我们也有好消息。新的 Qt WebEngine 将在源代码级兼容大部分 API。如果你使用了 QObject 桥或者 QWebElement API,我们建议你等一段时间再进行移植。因为这些内容的替换 API 不大可能会在 Qt WebEngine 的初版就提供。

尽管我们不再对 Qt WebKit 提供任**特性的开发,已有版本仍将可用。Digia 将继续为 Qt Enterprise 商业授权用户提供合同规定的 Qt WebKit 支持,也能继续提供额外时间的支持。

现在我们尽快提供一个 Qt WebEngine 的技术预览版。我们的目标是随着今年秋季的 Qt 5.2 的发布一同推出。第一个完整支持的版本有可能同明年春季的 Qt 5.3 一起发布。第一个版本我们计划使新的 Qt WebEngine 模块支持 Windows、Mac OS X、Linux 和嵌入式 Linux。

有关 Qt WebEngine 的更多内容,可以查看 Qt 项目的 wiki。在那里你可以找到更多信息,比如如何自己构建 Web 引擎以及这个模块的未来计划。

由于这是 Qt 的相当大的一次改变,我们相信这将在未来几年为我们提供一个更好更完整的 Web 平台。

关注 Qt WebEngine 以及我们的未来发展方向的最好方式是加入我们的 Qt Developer Days。在那里我们项目负责人将会讨论最新发展状况。我们可以在 www.qtdeveloperdays.com 注册 Qt Developer Days。

回复

使用道具 举报

累计签到:1568 天
连续签到:1 天
2013-9-13 11:50:10 显示全部楼层
这个意思是说在Qt 5.2中将用Qt WebEngine替换掉Qt WebKit吗
回复 支持 反对

使用道具 举报

累计签到:1 天
连续签到:1 天
2013-9-13 14:20:55 显示全部楼层
yafeilinux 发表于 2013-9-13 11:50
这个意思是说在Qt 5.2中将用Qt WebEngine替换掉Qt WebKit吗

好像是这么回事!!

Digia 的博客上宣布说:Qt 项目已经决定移植 Web 渲染引擎从 WebKit 改为 Chromium。第一个主要的原因是 Chromium 更侧重于跨平台,而且在桌面平台和 Android 都可用,而 WebKit 在这方面表现要差一些,我们必须在某些系统上额外开发支持。
此外 Chromium 对 HTML5 特性支持更加完美,而且 Chromium 是发展最快的浏览器。我们非常相信改用 Chromium 会给 Qt 带来更强大的 Web 渲染引擎。
回复 支持 反对

使用道具 举报

尚未签到

2016-2-23 15:04:37 显示全部楼层
这么好的帖子不顶就太对不起楼主了












企业招聘请注册www.shsxjy.com
回复 支持 反对

使用道具 举报

尚未签到

2016-3-27 16:37:23 显示全部楼层
参考参考,我认为很好,大家说说
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了