• 22849阅读
  • 8回复

[转载]Qt WebEngine Technology Preview Available [复制链接]

上一主题 下一主题
离线realfan
 

只看楼主 倒序阅读 楼主  发表于: 2014-01-24

Qt WebEngine Technology Preview Available

Published Thursday January 23rd, 2014 | by Zeno Albisser

We are happy to announce the first Technology Preview of Qt WebEngine. In September 2013, weannounced Qt WebEngine as our new Chromium-based web engine to replace Qt WebKit and offer the best possible Web technology for Qt in the future.
In this first Technology Preview, the R&D team focused on properly integrating with Qt and Qt Quick. This paves the way for optimal performance and a competitive and feature-rich web browsing experience.
In the following video you can see how well Qt WebEngine integrates into Qt Quick.

At the moment, we have both Linux and Mac OS X supported and we are working on bringing Qt WebEngine to other platforms, such as Windows and Qt Enterprise Embedded Android/Linux. There is currently a preliminary API for Qt Quick as well as for Widgets. The implementation for Qt Quick integrates directly with the Qt Scene Graph and therefore allows better performance for accelerated web content. The Widgets API is focusing on ease of porting from QtWebKit.
Please keep in mind that as we are currently in a Technology Preview stage neither the Qt Quick, nor the Widgets API for Qt WebEngine is considered stable. At this time, source and binary compatibility are not guaranteed.


How to Get the Code

A source tarball can be downloaded from the Qt Enterprise Customer Portal, as well as from qt-project.org.
If you choose to use git for cloning our Qt WebEngine repository, please make sure to checkout the tag v0.1.0-tp1 and follow the instructions on our Gitorious repository page.https://qt.gitorious.org/qt-labs/qtwebengine


How to Build

Qt WebEngine currently requires Qt 5.2 or later. All you need to do is execute qmake and make installin the Qt WebEngine source directory. Internally the build process uses gyp and ninja, but there is no need to worry, this is all nicely hidden from you.
qmake && make install

Note that the make install step is necessary to put all the resource files that are needed by Chromium into the right place. Otherwise I10n and Inspector resources will not be found.


The following examples are included

The Qt WebEngine repository includes examples for both Qt Quick and for Widgets in the examples/ subdirectory.
  • QuickNanoBrowser is a very simple example of a multi-tab browser using Qt Quick. It can be used to showcase the actual performance for WebGL that can be achieved by integrating with the Qt Scene Graph.
    To be able to share textures with the Qt Scene Graph efficiently we have to use shared contexts. For details about this take a look at the file quicknanobrowser/main.cpp.
    In case you have multiple GPUs installed in your system, you might also need to pass –supports-dual-gpus on the command line.

  • Browser is the original QtWebKitWidgets based Qt demo browser ported to Qt WebEngine. Several features are still missing, but it is already a good example for porting an application from QtWebKit to Qt WebEngine.
  • FancyBrowser is another example ported from QtWebKitWidgets. It shows the interaction with web content using jQuery and the asynchronous runJavaScript method.


Limitations

Qt WebEngine currently uses the Chromium networking layer. Therefore, we do not have an integration with QNetworkAccessManager. Also, we are currently not supporting the Adobe Flash plugin.
While the quality of displayed web content is already at a very good level, the APIs are not fully complete. In particular, the Widgets API is still lacking several features, but we are working on resolving this issue.



What’s Next

We are planning to have an Alpha and a Beta release of Qt WebEngine within the first half of 2014. In the Alpha release, we intend to add support for Windows. We are also working actively to provide embedded Linux and embedded Android support for our Qt Enterprise Embedded offering. In addition, we will of course keep working hard on the Qt Quick and the Widgets API to support further use cases.(计划在2014年上半年内,发布Alpha和Beta版本。我们打算在Alpha版本中支持Windows。)


How to Provide Feedback

If you find bugs or have specific feature requests, please file a bug-report on https://bugreports.qt-project.org for the project Qt and the component WebEngine.
If you are planning to use Qt WebEngine and are interested in setting feature priorities, but are not able to contribute directly to the development, you can help us direct resources towards Qt WebEngine by becoming Qt Enterprise licensee or establishing another commercial agreement with Digia. You can also provide feedback by sending us an email: qt.webengine@digia.com


Where to Get More Information

Our rather minimal wiki page can be found here: http://qt-project.org/wiki/QtWebEngine
If you are planning on contributing to the development of Qt WebEngine, please sign up to our mailing list at: http://lists.qt-project.org/mailman/listinfo/qtwebengine or find us on our freenode channel #qtwebengine.


离线XChinux

只看该作者 1楼 发表于: 2014-01-24
这是就做个单独的模块与WebKit各自独立?
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线realfan

只看该作者 2楼 发表于: 2014-01-24
回 XChinux 的帖子
XChinux:这是就做个单独的模块与WebKit各自独立? (2014-01-24 09:15) 

应该是放弃Webkit,提供基于Chromium的QtWebengine.
即使保留,也不会在webkit上开发新功能了。
离线realfan

只看该作者 3楼 发表于: 2014-01-24
挑着简单翻译一点http://blog.qt.digia.com/blog/2013/09/12/introducing-the-qt-webengine/的内容
  
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 projectnowadays 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:
经过一段时间对二者(WebKit和Chromium)的调研,做出决定,未来我们将基于Chromium开发Qt WebEngine。这样决定有很多原因:
  • Chromium注重于跨平台,Chromium浏览器可以用于所有主流桌面系统及Android平台. 而WebKit却不行,这使得我们不得不在自己的工程中,做跨平台方面的工作
  • Chromium中包含了很多可以直接使用的东西,而在WebKit中,这些东西就要我们做很多工作才能实现。例如,Chromium对各平台的适配,可以直接拿来使用。多媒体和HTML5的新特性(如WebRTC)也是可以直接使用,而不需要任何专门的Qt代码来实现
  • Chromium简化了与系统的集成,这样我们就可以把更多的精力放在上层开发上,提供强大易用的API,使其与Qt无缝集成成为可能
  • 我们发现Chromium的开发有十分严格的质量控制。这简化了我们的测试工作,也能让我们做出更加稳定更高质量的Web engine
  • 相比Webkit,Chromium会让我们更好更高效的与widgets和Qt Quick集成
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.

对Qt Webkit用户有什么影响?
首先,不必有任何担心。大多数情况,目前在用了Web内容的程序, Qt WebKit工作得都很好,在未来几年也不会有问题。Qt5.2发布后,我们将集中精力开发新的Qt Web Engine。因此,如果您想在程序或设备中,用上最新最强大的HTML5新特性,在我们发布新的新API能满足您的需求后,请考虑使用新的Qt WebEngine)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.(我们将尽可能使Qt WebKit到WebEngine的迁移变得简单无缝。对Qt Quick WebView元素,会提供近乎100%兼容的API。。。。。。。。。。)

Qt Webkit新功能的开发不会再有,但已有版本继续可用。Digia会按许可协议对商业版本继续提供支持,用户也可以延长支持时限。开发工作正在进行中,我们会尽可能快地提供Qt WebEngine技术预览版。我们的上目标是在今秋将发布Qt5.2时,同时提供可用的QT Web引擎。第一个完全支持版本很可能作为明春发布Qt5.3的一部分。在第一个发行版本中,我们计划使QtWebEngine支持Windows,MacOSX,Linux及嵌入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.

离线XChinux

只看该作者 4楼 发表于: 2014-01-24
这样自己程序中可以嵌个完整的浏览器了,不错。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线realfan

只看该作者 5楼 发表于: 2014-01-24
回 XChinux 的帖子
XChinux:这样自己程序中可以嵌个完整的浏览器了,不错。 (2014-01-24 15:16) 

是啊,非常期待。4月底Qt5.3发布时,估计Alpha或Beta WebEngine也能出来了。
离线chen.kline

只看该作者 6楼 发表于: 2014-01-24
Qt能否重新流行, 将主要取决于Qt for Android/IOS 两个平台的表现
小小蝼蚁
http://weibo.com/chenkline
离线csdn

只看该作者 7楼 发表于: 2014-01-26
很好,希望尽快在Qt发布版本中应用
离线toby520

只看该作者 8楼 发表于: 2014-02-08
还是希望兼容webkit,这样以前的程序的升级就好办了
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
快速回复
限100 字节
 
上一个 下一个