[CREATE] panel discussion (proposal): Web apps

Dave Crossland dave at lab6.com
Mon May 10 08:43:14 PDT 2010


On 30 April 2010 15:53, Cyrille Berger <cberger at cberger.net> wrote:
>>
>> > Probably I misunderstood, but, I though pyjamas allows you to write a
>> > PyGTK app and 'cross compile' it to an AJAX webapp?
>>
>> i've read it the other way round: it allows you to create ajax apps by
>> programming them in python and run them as gtk apps on your desktop if
>> you want so...
>
> need pyjama-desktop for running it as gtk ... just
> loading your application in a webkit view) http://pyjd.org/

Yes, looks like that's the case, although pyjs.org says at the top
"pyjamas is a stand-alone python to javascript compiler", so when I
said "PyGTK" I should have said "Python"....

Also I asked Luke (lead developer of Pyjamas) about this:

---------- Forwarded message ----------
From: Luke Kenneth Casson Leighton
Subject: Re: Re: [CREATE] panel discussion (proposal): Web apps

On Fri, Apr 30, 2010 at 1:28 PM, Dave Crossland <dave at lab6.com> wrote:
>
> hi, > > Probably I misunderstood, but, I though pyjamas allows you to write
> a PyGTK > app and 'cross...
>
> i've read it the other way round: it allows you to create ajax apps by
> programming them in python and run them as gtk apps on your desktop if you
> want so...

 not quite either - but almost.  you're both correct.

 a 2007 GSoC project created an _independent_ and _alternative_ port
of pygtk, called pygtkweb by _reimplementing_ gobject, gdk and gtk in
terms of DOM objects, to be compiled from python to javascript, to run
in web browsers.

 the only one of the three pyjamas projects (and yes there are three
separate pyjamas projects) that pygtkweb uses is the pyjs compiler.

 so that's pygtkweb.

 then there's pyjamas itself, containing three projects: pyjs
compiler, DOM library (does what it sounds like) and UI library.

 there are two versions of the DOM library.  the first is specifically
suited to compiling to javascript, for running in web browsers.  there
are variations (for all 5 major web browser platforms, ie, mozilla,
netscape, safari and opera) but they all do exactly the same thing.

 the _second_ version of the DOM library runs under web _engines_, of
which there are four.  two are "mature" - MSHTML and xulrunner; two
are "experimental" - pywebkitgtk andpy webkitqt4.

 this gives you niiiine platforms to run the same python application -
unmodified and unchanged- either as a desktop application _or_ a web
application.

 so, you can see that you have a whopping amount of choice, but
basically you just don't care _what_ platform the application runs
under: it's python, it's going to work on all those platforms, and
that's the end of it.

 of course, the spanner in the works is the webkit developers, one of
whom has _deliberately_ gone out of his way to ensure that
webkit-glib/gobject does _not_ get into the mainline webkit tree, but
that's another story.

 l.


More information about the CREATE mailing list