• 8893阅读
  • 10回复

[转载]Qt决定将Web渲染引擎从WebKit改为Chromium [复制链接]

上一主题 下一主题
离线ashe0817
 

只看楼主 倒序阅读 楼主  发表于: 2013-09-17


Digia 的博客上宣布说:Qt 项目已经决定移植 Web 渲染引擎从 WebKit 改为 Chromium。第一个主要的原因是 Chromium 更侧重于跨平台,而且在桌面平台和 Android 都可用,而 WebKit 在这方面表现要差一些,我们必须在某些系统上额外开发支持。


此外 Chromium 对 HTML5 特性支持更加完美,而且 Chromium 是发展最快的浏览器。我们非常相信改用 Chromium 会给 Qt 带来更强大的 Web 渲染引擎。
离线meegoyao

只看该作者 1楼 发表于: 2013-09-17
when
离线XChinux

只看该作者 2楼 发表于: 2013-09-17
支持。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
在线zgfree

只看该作者 3楼 发表于: 2013-09-17
webkit都还没弄懂
离线adonais

只看该作者 4楼 发表于: 2013-09-17
就是把webkit换成blink
离线realfan

只看该作者 5楼 发表于: 2013-09-17
好!希望早日实现。
离线realfan

只看该作者 6楼 发表于: 2013-09-17
原文贴过来
Introducing the Qt WebEngine

Published Thursday September 12th, 2013 | by Lars Knoll

A lot has happened with Web technologies in general since we introduced the first version of Qt WebKit in 2007. From having a couple of percent market share, the WebKit open source project nowadays has became the most widely used browser engine in the world. While the Qt port of WebKit was pretty much the first non-Apple port of WebKit, many other projects and companies joined the project over the years to follow.

The Chromium project took an especially big role in the project and became over time the biggest contributor to WebKit (followed by Apple and with Qt on the third place). The cooperation between different companies on one open source project was, however, never without difficulties, and this spring Google decided to leave the WebKit project in favor of their own fork of WebKit, Blink.

Since then, Blink, which really is a very integrated part of Chromium, and WebKit have been going separate ways, and the two code bases have been rapidly diverging. Because of this, the Digia Qt R&D WebKit team decided to have a closer look at both Chromium and WebKit to decide how we could offer the best possible Web engine for Qt in the future.

After spending some time researching and looking at both alternatives, we have now come to the conclusion, that we will base our future Web engine on Chromium. The Qt WebEngine. There are many reasons that lead to this decision:

Chromium has a cross-platform focus, with the browser being available on all major desktop platforms and Android. The same is no longer true of WebKit, and we would have had to support all the OS’es on our own in that project.
There are many things that are available out-of-the box from Chromium, which would require a lot of work for us to support ourselves in WebKit. One example, is the whole platform/OS adaptation that we can simply re-use. Multimedia and new HTML5 features such as WebRTC are working out-of the-box and don’t require any Qt-specific code.
As using Chromium simplifies handling the OS integration, this allows us to spend additional time to focus on the upper layers to provide a great and easy-to-use API and a seamless integration into Qt as possible.
We are seeing that Chromium is being developed with very strict control on quality. This simplifies our testing efforts and will allow us to provide a more stable and higher quality Web engine.
Chromium will allow us to do a better and more performant integration with both widgets and the Qt Quick scene graph than we would be able to do with WebKit
Finally, we are seeing that Chromium is currently by far the most dynamic and fastest moving browser available. Basing our next-generation Web engine on Chromium is a strategic and long-term decision. We strongly believe that the above facts will lead to a much better Web engine for Qt than what we can offer with Qt WebKit right now. We also believe that the combination of the best-in-class browser engine with Qt as a native framework gives an incredibly strong offering especially for the creation of embedded devices that require a Web browser in addition to best-in-class UI performance.

One of the fundamentals of Chromium is that all rendering of Web content happens in a different process for security and stability reasons. This does, however, make it impossible to provide certain aspects of our current Qt WebKit API with Chromium. One notable part is probably the QWebElement API. We will also have to change how QObject embedding is being done, since all communication between the QObject and the web page will have to happen asynchronously.

What does all of this mean for users of Qt WebKit?
First of all, there’s nothing to be afraid of. For many use cases, where Web content is being embedded into applications, Qt WebKit works fine right now, and will continue to do so in the years to come. After the release of Qt 5.2, we will focus most of our new development efforts on the new Qt Web Engine. So, if you want to have all the lastest and greatest HTML5 features available for your application or device, you should consider moving over to Qt WebEngine once we have a release that covers the API features you require.

We will do our best to make moving over from Qt WebKit to the new Qt WebEngine as easy and seamless as possible. For the Qt Quick WebView element, we can most likely provide a close to 100% compatible API. For people using the basic QWebView API, we also have good news. Most of that API is available in an almost source-compatible fashion in the new Qt WebEngine. If you use the QObject bridge or the QWebElement API, we recommend you wait a bit longer with moving, as a replacement API for those will most likely not be part of the first version of Qt WebEngine.

While we no longer will do any feature development in Qt WebKit, the existing version will continue to be available. Digia will continue to support Qt WebKit for Qt Enterprise commercial license holders as defined in the license agreement, and can also offer extended lifetime support.

Work is now ongoing to provide you with a Technology Preview of the new Qt WebEngine as fast as possible. Our goal is to have that available together with the Qt 5.2 release this autumn. The first fully supported release will then, most likely, come as part of Qt 5.3 next spring. For the first version, we are planning to support the new Qt WebEngine module on Windows, Mac OS X, Linux and embedded Linux.

For more information on the Qt WebEngine have a look at the Qt Project wiki. There you can also find more detailed information about how to build the Web engine yourself, how to port existing code and what our future plans for the module are.

While this is a rather large change for Qt, I strongly believe this will give us a much better and more competitive Web platform in the years to come.

The best way to find out what is going on with Qt WebEngine and our future direction is to join us at Qt Developer Days where our lead developers on the project will talk about the latest developments. Make sure to register to Qt Developer Days at www.qtdeveloperdays.com.
离线贵宾杨佳

只看该作者 7楼 发表于: 2013-09-18
与时俱进啊 Qt就是比gtk强
离线skykingf

只看该作者 8楼 发表于: 2013-09-18
好啊  跟着google走  大势所趋
离线liuzh_szz

只看该作者 9楼 发表于: 2013-09-18
       主要是因为Qt要进入移动平台,而移动平台无论android还是ios都自带浏览器,这样Qt还上完整的浏览器就太臃肿浪费了。前一段时间就有把QtWebikit模块替换成QtWebEngine以支持各种浏览器的尝试http://blog.qt.digia.com/cn/2013/06/26/experimenting-with-chromium-and-qt/,使用了Chromium可以最大限度地跟踪浏览器技术前沿,还可以让谷歌在前面探雷。
       唯一担心的是以后的浏览器会不会更臃肿,我arm编译的Qt4.8.5+部分mobility的库裁剪了再用cramfs压缩了都还有17M,再加大就有点恼火了
离线hongbawudi

只看该作者 10楼 发表于: 2014-07-06
能不能把webkit作为可选库?
快速回复
限100 字节
 
上一个 下一个