[webkit-dev] pyjamas-desktop - how to make a desktop pyjamas toolkit

Luke Kenneth Casson Leighton lkcl at lkcl.net
Sat Aug 16 04:55:13 PDT 2008


folks, hi,
after some thought, i'm rapidly coming to the conclusion that the
most practical and beneficial way to implement pyjamas-desktop is
to go the whole hog with webkit.
that may take some explanation - please bear with me.
* google's webkit is a toolkit that looks startlingly similar to
  a desktop toolkit.
* pyjamas is a port of google's webkit to python.
* the pyjamas API looks startlingly similar to python-gtk2, python-qt4,
  wxPython etc.
* therefore, logically, it makes sense to have a port of pyjamas
  which _does_ call e.g. python-gtk2, or python-qt4, or wxPython widget.

however - when you get into it, it's the HTML widgets, and some of
the more obscure widgets such as the pyjamas "HTMLPanel" that begin
to show up weaknesses in the chosen widget sets.  not just because
the widget sets don't properly support CSS stylesheets - gtk-css-engine
by robsta is a good example of adding CSS support to gtk - it's more
fundamental than that.

which leaves one other final option: accessing and manipulating the
DOM model, directly.

i've spoken on irc to brian dash: he mentions that alp toker had been
working on exposing the DOM model manipulation up to other programming
languages, and that apple's "objective-C" makes it _already_ possible
to manipulate the DOM model - in any programming language - as long as
you're using a MAC.

the goal of pyjamas-desktop is for pyjamas to be an application
development toolkit that is cross-browser, cross-platform _and_
cross-widget-set.  so if it's runs on MAC only, that's no good.

ultimately, however, irrespective of pyjamas-desktop, it just makes a
great deal of sense to provide programmatic DOM manipulation, for other
applications.  just having "another browser", with the examples and
demos, well... you can use mozembed or gecko for that kind of thing,
and you don't need webkit at all...

l.



More information about the webkit-dev mailing list