Newbie advice

lkcl luke.leighton at googlemail.com
Tue Nov 10 07:48:03 EST 2009


On Oct 29, 7:00 am, alex23 <wuwe... at gmail.com> wrote:

> However, if you're already comfortable with HTML/CSS, I'd recommend
> taking a look atPyjamas, which started as a port of the Google Web
> Toolkit, taking Python code and compiling it into javascript. The
> associated project,Pyjamas-Desktop, is a webkit-based desktop client/
> widget set; so ideally you only have to write one UI and it'll run
> both on the web & the desktop.
>
> Pyjamas:http://pyjs.org/
> Pyjamas-Desktop:http://pyjd.sourceforge.net/


 thank you for mentioning these, chris.  the information on pyjd is
slightly out-of-date.

 * pyjamas-desktop was merged into pyjamas as of the 0.6 release.

 * there are now three alternative back-ends for pyjamas-desktop,
   (just as there are three major web browser engines).  MSHTML,
   xulrunner and webkit.

   Opera's engine cannot be included because Opera's developers have
   not responded to invitations to provide an engine / library to
which
   python bindings can be added.  when they have provided python
bindings,
   a port of pyjd to use them can be done in approximately two weeks.

 * the webkit-based back-end is the least-recommended, due to
intransigence
   of the webkit developer, mark rowe.  mark rowe has shown consistent
   disrespect for free software contributions to make webkit with glib/
gobject
   bindings actually useful and useable, and has ensured that anyone
who
   wishes to proceed with getting webkit its glib/gobject bindings
will
   have an unacceptably hard time.  efforts to work with the other
webkit
   developers, which were proving successful, were deliberately
destroyed
   by, and terminated by, mark rowe.

 * the MSHTML-based back-end is surprisingly the most successful of
the
   three pyjd ports.  it requires _very_ little in the way of
libraries
   to be installed: only python-comtypes (at 250k) which is in
complete
   contrast to the other ports, which require whopping 30mbyte
installs
   of libraries and dependencies.

 * the xulrunner-based back-end is the best option for unix-based
systems.
   the design of xulrunner's core infrastructure, XPCOM, however, is
   slightly ... "incomplete".  it is based on DCOM, but does not
provide
   the exact same capabilities as DCOM (no coclasses).  the upshot is
   that current releases of xulrunner work perfectly well for
_everything_
   but 2D SVG Canvas "Image" loading.  (i have a patch for xulrunner
which
   fixes this one single error)


so - it's a mixed and interesting bag of tricks.

full and comprehensive non-javascript bindings to web technology seems
to be a thoroughly misunderstood and underexploited area, with several
variations on the same theme being available from several competitive
sources.

the nice thing about pyjamas is that just as pyjs makes all the
differences "go away" when pyjamas apps are compiled to run in web
browsers, pyjamas-desktop makes those differences "go away" when
pyjamas apps are run as pure python on the desktop.

l.



More information about the Python-list mailing list