python html5 bootstrap 视频教程

德云社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 15108|回复: 0

Qt5.5 为向要把 Web 渲染引擎核心 WebKit 改为 Google Chromium Blink

[复制链接]

194

主题

288

帖子

1322

积分

超级版主

Rank: 8Rank: 8

金钱
798
金币
15
威望
0
贡献
0
发表于 2016-10-28 01:23:47 | 显示全部楼层 |阅读模式
AI人工智能 语音助理 人工翻译 教程
Qt5.5 为向要把 Web 渲染引擎核心 WebKit 改为 Google Chromium Blink

2015 年 07 月 01 日 Qt 5.5 正式发布。从 QT 5.3 开始,QT 就有可很好地运行在 Windows 8 上的新 WinRT API,由此,只要及时更新 Qt 5.5.x 就能完美支持 Windows 10。


Qt WebKit、Qt Quick1 和 Qt Script 从 Qt 5.5 起弃用,虽还可使用,建议以 Qt WebEngine、Qt Quick 和 Qt QML 替代,这些能完全兼容 JavaScript 引擎。


把 Web 渲染引擎从 WebKit 改为 Chromium。Chromium 更侧重于跨平台,在桌面平台和 Android 都可用,而 WebKit 在这方面表现要差一些,必须在某些系统上额外开发才能支持。Chromium 对 HTML5 特性支持更加完美,且 Chromium 是发展最快的浏览器。


WebKit 早先由 Apple 由 KHTML 项目 fork 出来,用于 Safari 浏览器的 Web 引擎。由于宽松的协议、轻量级的设计和便捷的应用程序内嵌 API,WebKit 逐渐变得流行起来,除了 Google Chrome/Chromium 和 Safari,它在移动终端 (Symbian S60,Android,iOS) 到 Toolkit 集成 (GTK+, Qt4) 都有不错的收获。


从 Qt 2007年第一次引入 WebKit 以来,Web 技术已经发生了很大变化。从只占很小的市场份额开始到现在,webit已经成为最广泛使用的 web 引擎。QtWebKit 是除了苹果之外做的比较好的,很多项目和公司也逐渐加入到这个项目开发中来。


Google Chromium 项目在其中发挥了很重要的作用,逐渐成了 WebKit 最大的贡献者(仅次于苹果和 QT,排第三)。


智能编辑重构 批处理式 "数字 Python IDE" 集成开发环境 (集成高效 Cython PyInstaller 批处理小程序)

http://dt.digitser.cn/zh-CN/ide/idepy/index.html


Google Blink Web 引擎

到 2010 年随着 OS X Lion 一起面世的 WebKit2。由于 WebKit2 在 WebCore 层面上实现的进程隔离在一定程度上与 Google Chrome/Chromium 自己的沙箱设计存在冲突,故 Google Chrome/Chromium 一直停留在 WebKit,使用 Backport 的方式实现和主线 WebKit2 的兼容。显而易见这增加了 WebKit 和 Chromium 的复杂性,且在一定程度上影响了 Chromium 的架构移植工作。


基于以上原因,Google 决定从 WebKit fork 出自己的 Blink Web 引擎。Google Blink 的横空出世,也使它和其他的 WebKit 浏览器开发商包括:苹果、诺基亚、黑莓,更彻底地分道扬镳。


Google Chrome 28 开发版本的版本说明中还在使用 WebKit,而 Chrome 28.0.1469.0 就已替换为 Blink。


自从 Blink 被真正集成到 Google chromium 中,WebKit 的发展就有了两个不同分支,且这两个版本的代码迅速分开了。基于这个原因,Qt 的 WebKit 团队需要对 chromium 和 webkit 这个两个分支进行详细的调查,决定在未来使用哪一个分支,以便给 Qt 的用户提供更好的 web 引擎。


经过一段时间对 2 个分支的调查研究,QT 最终决定使用 chromium 的 webkit。原因如下:


Chromium 跨平台

chromium 浏览器已在许多主要桌面平台和安卓系统上运行。而这一点 webkit 是不行的,必须花很大精力开发才能支持所有的操作系统。


由于 chromium 跨平台,可把更多精力放在提供更容易使用的 API,和 Qt 无缝集成。


Chromium 有好多现成可用功能

这些功能在 webkit 上,要花很大精力开发。譬如:跨平台、多媒体、HTML5 支持。


更稳定、质量更好

chromium 有严格的质量控制,可节省很多测试精力,能够提供一个更稳定、质量更好的 web 引擎。


兼容性更好

相比 webkit,chromium 可以和 widget、Qtquick 更好的无缝集成。


chromium 是目前最具活力和发展最快的移动浏览器,从战略发展的角度,Qt 决定使用 chromium 做 web 引擎。


基于稳定性和安全性的考虑,chromium 中对 web 页面的渲染是在不同的进程中。所以,Qt 暂时无法提供某些 API,比如 QWebElementAPI。由于 QObject 和 web 页面的通信是异步的,所以必须修改 QObject。


QtWebKit 和 Qt webEngine

那么,这些改变对 webkit 的用户意味着什么呢?


首先不用担心,大多数情况下,应用程序中的 QtWebKit 将运行良好,且在未来一段时间都会如此。Qt5.2 版发布后,digia 的精力会主要放在新 Qt webEngine 上。所以,如果想使用 HTML5 新特性,建议把应用程序或设备迁移到 digia 稍后发布的新的 QtwebEngine 上。


digia 会尽最大的努力实现 Qt webkit 到 Qt webEngine 的无缝移植。对于 webview,我们会提供接近 100% 的兼容性。对于基础的 web view API,在新的 QtwebEngine 中代码是完全兼容的。如果使用了 QObjectbridge 或是 QWebElement,建议稍等一段时间再移植。在 Qt webEngine 的第一个版本中,可能不会提供这样的 API。


Qt webkit 将不再开发,现有的版本可以继续使用。对于商业版本用户,digia 一定会提供维护帮助。


digia 现在正在进行的工作是能够尽快提供一个新的 QtwebEngine 技术预览。目标是和 Qt5.2 一起发布。完全支持的版本要到 Qt5.3。第一个发布版本支持 windows、macOS x、linux 和嵌入式 linux。


扫一扫关注 德云社区 微信公众号

参考:
Qt5.5 ── Android iOS Linux Mac OS X Windows C++应用 LGPL或GPL开源许可

版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载。
AI人工智能 语音助理 人工翻译 教程
回复

使用道具 举报

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

本版积分规则

Archiver|Sitemap|小黑屋|德云社区 |网站地图  

GMT+8, 2024-11-23 08:37 , Processed in 0.022983 second(s), 25 queries .

工业和信息化部: 粤ICP备14079481号-2

技术支持 乐数软件     版权所有 © 2014-2021 德云社区    

快速回复 返回顶部 返回列表