[Development] Assistant WebKit/WebEngine support

Bastiaan Veelo Bastiaan at Veelo.net
Thu Jun 27 13:14:56 CEST 2019


A very good post, thank you Jarek.

Ideally, Qt would have a dedicated HTML renderer that works on all 
platforms, without unnecessary overhead and security issues. Possibly as 
a new widget (QHtmlBrowser) to keep QTextBrowser strictly rich text, 
possibly removing features from QTextBrowser to make it truly minimal. 
The Qt Company, inventors of QML, should be in a good position to 
accomplish such a stand alone HTML browser.

However, it seems that most web browsers that implemented their own 
browser tech have ditched those in favour of a third party framework 
(see Opera, Edge, e.g.) -- how much of the reason for that is due to 
rendering or networking I don't know. Either way, accomplishing decent 
standard compliance will require a major investment. A business decision 
should be made whether that investment isn't better spent on teaming up 
with a third party to make its framework modular, so that it is capable 
of working optimally for offline content. If that is implemented well, 
this could potentially mean that on the platforms that use this 
framework for their native browser, QHtmlBrowser could simply forward to 
the system shared library for HTML rendering (without networking).

Gecko, WebKit and Chromium seem to be the major browser back ends. Which 
of those is best to team up with? Both WebKit and Chromium are derived 
from KHTML, so maybe KHTML is a good starting point due to its relation 
with Qt. Or, if WebKit and Chromium aren't easily modularised, maybe 
that is because of how KHTML is put together, and a fresh look at Gecko 
is beneficial?

I agree with Jarek that Qt should plan long term and implement the best 
solution, not the easiest or quickest. It has been bad for four years 
already, a year or two more is not a big deal. People that require 
Assistant with full HTML/CSS capability can get that easily today[1], 
and can wait.

Bastiaan.

[1] https://github.com/veelo/qttools




More information about the Development mailing list