python html5 bootstrap 视频教程
德云社区 门户 IT 编程 编程语言 C/C++ 查看内容

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

2016-10-28 02:46| 发布者: digitser| 查看: 3232| 评论: 0|原作者: liuliuab1

摘要: 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 就能 ...
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,排第三)。



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开源许可

版权声明:
本文由 德云社区 大数据采集软件采集新闻汇编,转载请注明出处。


路过

雷人

握手

鲜花

鸡蛋

相关阅读

最新评论

相关分类

PySide1.2 2.x PyQt4 的 QComboBox.currentTextChanged 信号无响应解决办法
PySide1.2 2.x PyQt4 的 QComboBox.currentTextChanged 信号无响应解决办法 在 PySide1.2 PySide2.x PyQt4 中,使用 QComboBox.currentTextChanged 信号有时会无响应,如下[19/2020-06-29]
OpenCV 4.x 官方文档编制 中文教程 全人工翻译 中文在线手册
OpenCV 4.x 官方文档编制 中文教程 全人工翻译 中文在线手册 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 OpenCV 4.2.0。 OpenCV 4.2.0 [68/2020-06-15]
OpenCV 4.x 官方文档编制 中文教程 全人工翻译 更新日志
OpenCV 4.x 官方文档编制 中文教程 全人工翻译 更新日志 最近把网页背景由白色改为黑色,保护视力,不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本[25/2020-06-15]
CMake 3.x 官方文档编制 中文手册 全人工翻译 更新日志
CMake 3.x 官方文档编制 中文手册 全人工翻译 更新日志 最近把网页背景由白色改为黑色,保护视力,不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为[19/2020-06-15]
CMake 3.x 官方文档编制 中文教程 全人工翻译 中文在线手册
CMake 3.x 官方文档编制 中文教程 全人工翻译 中文在线手册 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 CMake 3.14。 CMake 3.14 中文文[24/2020-06-15]
多功能 高效快速 批处理式 文档翻译工具 人工翻译 手动翻译
多功能 高效快速 批处理式 文档翻译工具 人工翻译 手动翻译 文档翻译及 GUI 翻译,经常需要反复修改及快速重建。若想满足这些要求,批处理技术是最佳选择。 软件开发人员在[27/2020-06-15]
OpenCV ── 以图像处理 算法为主的跨平台开源计算机视觉库
OpenCV ── 以图像处理 算法为主的跨平台开源计算机视觉库 OpenCV 的全称 Open Source Computer Vision Library,又名 “开源计算机视觉库”。OpenCV 是一个开源发行的跨[54/2020-06-15]
数字 IDE -- 全栈软件工程师编程 多功能高效 批处理式 IDE
数字 IDE -- 全栈软件工程师编程 多功能高效 批处理式 IDE 由于所有编程语言,源代码的主要表达形式仍是文本。 而文本在数字化 批处理化方面天然优势明显,如标准统一 (虽[24/2020-06-06]
多功能高效 批处理式 Python IDE Python 编辑器 新时代新理念
多功能高效 批处理式 Python IDE Python 编辑器 新时代新理念 计算机被发明以来,IDE 理念从最初的文本式,到后来的带图形界面式,再是图形可交互式,之后再无突破 (虽然有[103/2020-06-06]
CEO首席执行官 CFO首席财务官 COO首席运营官 CTO首席技术官
CEO首席执行官 CFO首席财务官 COO首席运营官 CTO首席技术官 CEO首席执行官 CEO 是 Chief Executive Officer 的缩写,中文译为首席执行官。 CEO 是在一个企业中负责日常事[56/2020-06-04]

Archiver|Sitemap|小黑屋|德云社区   

GMT+8, 2020-7-11 03:39 , Processed in 0.030080 second(s), 27 queries .

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

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

返回顶部