Your experience migrating from Qt WebKit to Qt WebEngine?
-
I have been willing to migrate my application from Qt WebKit to Qt WebEngine for quite some time, but postponed things until now mainly because recent versions of Qt (5.5 and 5.6 RC) have been causing me problems on OS X (while everything works fine on Windows and Linux). So, officially, I am still using Qt 5.4.2.
Still, I thought I would give it a try, not least because I need official support for Windows 10. So, to get going, I decided to use Qt 5.6 RC.
Now, it has been a few days and I must confess that my experience with Qt WebEngine is becoming increasingly frustrating. Some of the issues that I have come across:
- To deploy Qt WebEngine is relatively easy on OS X (mind, I don't use
macdeployqt
; I did many years ago, but got bitten so hard that I now do everything 'by hand' using CMake). However, the footprint is huge. I mean, really huge! - I haven't yet automated the deployment on Windows and Linux yet, but after having done it manually, I was shocked to find out that my application takes for ever to load (> 10 seconds). I am running my application within VirtualBox, so it looks like what is described here might apply?
- As some people have reported, many events are not supported (e.g.
paintEvent()
, which I need). - We can't delegate link clicks. I have seen that there is
QWebEnginePage::acceptNavigationRequest()
, but I am not sure it can be used to address all of my needs (I clearly have to check). - There doesn't seem to be something like
QWebFrame::hitTestContent()
in Qt WebEngine. Without this, I must say that my migration is pretty much impossible. - To be able to retrieve something like a
QWebElement
object also seems to be missing. Again, that's something that I really need in my application. - Many things now need to be done through
QWebEnginePage::runJavaScript()
, which is far from ideal and, I wonder, maybe slower when it comes to manipulating the DOM? - We can't print a
QWebEnginePage
object. - Etc.
Now, I understand that it can take (a lot of) time to get Qt WebEngine to the same level as Qt WebKit, but... why not keep shipping Qt WebKit until the two are 99% on par? I have read here and there that we can still build Qt WebKit from source, but that's really a pain (for those who don't build Qt in the first place).
So, in the end, I am really frustrated and annoyed. I want to upgrade to the latest version of Qt, but right now I am stuck due to various issues that I am having with Qt WebEngine (as well as other issues that I still have to investigate).
PS: if someone has the answer to some of my current problems with Qt WebEngine, then please feel free to share your insight with me and the rest of the community...
- To deploy Qt WebEngine is relatively easy on OS X (mind, I don't use
-
@coquetangler This has been discussed a thousand times. It's a question of time and money.
-
@coquetangler
its not like it being ignored here. :)
Most likely none had any experience porting
and hence no one replied.
but it would be great plan to rally webkit users and make it easier to use/build or
maybe even binaries. -
@Wieland I, for one, completely accept that it's a question of time and money, but... as has also been discussed a thousand times, many of us can't use Qt WebEngine and yet want/need to use Qt 5.6.x LTS and/or Qt 5.7.x.
So, why not acknowledge it and provide binaries for Qt WebKit, making it (very, if needed) clear that it's not supported, etc., just provided for convenience.
-
@agarny Hi! First of all, I don't speak for Digia; I'm a user / member of the community like most people here. Qt is a free software community project with companies, research institutes and hobbyists from around the globe contributing to it. If you want Digia to provide binaries for this or that then you have to convince them by paying them for it. Or pay someone else to do it. Or find volunteers to do it for free. On the one hand people complain about allegedly high fees for commercial licenses and support and on the other hand people complain about lack of funding.
-
@Wieland I don't think it's a question of money at all. WebKit was/is a major part of Qt and removing it completely seems ridiculous. We all make mistakes on occasions and there is no shame in back-peddling until webengine matures. If I build this I will make it available. If someone else already has then that would be great to know where to download it from.
-
@coquetangler You keep complaining about this for over a year now. If it's all so cheap and easy then why didn't you provide even a single patch in the meantime? Here's the source code and here's the bug tracker. Start contributing to our common effort instead of whining about other people's decisions.
-
hi
Any of you have a newer build instructions?
The one i find seems pretty old
https://trac.webkit.org/wiki/BuildingQtOnWindows -
@Wieland Well, I now generate Qt WebKit myself and people can see how I do it here. So, as you can see, I am, at my own level, already sharing/contributing/etc. to the community at large (i.e. not only the Qt community).
Now, what I find a bit 'sad' is that it took me a bit of time to get Qt WebKit to build on Windows, Linux and OS X, not least because my different development machines were not set up for it in the first place. Digia, on the other hand, could have done it very easily (since they used to release Qt WebKit and still provide source code for it, including some bug fixes here and there).
Anyway, I am on holiday, and it's nice and sunny, so time for me to go for another swim... :)
-
@Wieland it's a discussion my friend. Becoming hostile is not in the community spirit either.
-
@coquetangler I'm not hostile, don't have any reason to be. So what's your reason for complaining that few users respond to WebKit related threads ("Another WebKit question totally ignored.") ? Obviously only a few users have expertise in this field or still care about it. And what's your reason for complaining at a user's forum about the decision some company made? I mean, you can do this once or maybe twice if you had a really bad day. But you've done this over and over again. If you're a paying customer then just give the Digia support a call. Otherwise treat Qt as what it is: a free software community project. Ask @agarny if you can help him with his work on Qt WebKit, fix bugs, provide binaries. But complaining about the work of others without contributing anything yourself just makes you look not so good.
-
@Wieland Right.
-
FYI, we are planning to release https://github.com/annulen/webkit as a part of Qt SDK, i.e. binaries for all major platforms.
-
Indeed and I am, for one, very much looking forward to it. Thanks again @Konstantin-Tokarev for all your hard work on bringing the latest version of WebKit to Qt.