Integrating Webkit into Gnocl was comparatively simple, but this was
only thanks to a pre-existing Gtk compliant api wrapped abound the
Webkit libraries offering a simplified widget API.
Taking the matter further, on the Tk side it would require more than in
Gnocl, the Tk is written in C and Webkit in C++.
Thereafter, of course, getting anything done in Webkit is not really
All complicated stuff, but the Gnocl offering works reasonably well. If
you need it in a Tk UI, then plug it into a socket.
The question arises is just how important is it to have a full-blown
browser engine embedded into a Tk app.
I created the gnocl::webkit package in order to provide access to rich
text formatting, because the GtkHTML package has been deprecated.
In the event control over Webkit for this purpose was limited, using a
fully featured web engine in my apps was resulting in unpredictable
behaviour because of conflicting events bindings and other issues. In
the end, I rolled up my sleeves and set to the task of producing a C
extension to the Gtk text widget to provide edit support for rich text
markup using Pango format which is largely HTML compliant.
If I were looking to develop browser apps, then I'd take a different
route than using Tk.
Post by email@example.com
- developing of a platform independent (X11, Win, Mac) clipping support, this requires also the adaption of the (platform independent) graphic context support
- testing on all platforms
- writing/updating the Tk documentation (mandatory)
- writing the test cases (mandatory)
- writing a TIP (Tcl Improvement Proposal; mandatory), and convincing the TCT (Tcl Core Team) that this functionality is needed (the TCT is quite conservative)
Only this task needs about 2 weeks. This is an example how the integration of extensions/enhancements into Tk works.
Moreover you have to implement/integrate some stuff for file storage (images, cookies, HTML cache), and probably other kinds of storage.
Also take into account that currently no (properly working) Drag&Drop support exists. The integration of a proper Drag&Drop requires some extensions inside the Tk library. (I'm planning to do this, but not currently.)
The adaption of Webkit/Tk is (currently) beyond of my time scope.
Such a platform independent GUI development shouldn't be under-estimated. I'm the author of the revised Tk text widget (will be shipped out with 8.7), and the development took me more than one year (the text widget is indeed very complex), though I'm very experienced with GUI/widget development, and I'm very experienced with the Tk library. Especially testing on all platforms is very time consuming.