[ann] pyjamas 0.8alpha1 release

  • Thread starter Luke Kenneth Casson Leighton
  • Start date


Luke Kenneth Casson Leighton

after a long delay the pyjamas project - http://pyjs.org - has begun the
0.8 series of releases, beginning with alpha1:


pyjamas is a suite of projects, including a python-to-javascript
compiler with two modes of operation (roughly classified as "python
strict" and "Optimised"); a GUI Framework almost identical to that of
the GWT Project (1.5 to 1.7); and a "Desktop" version which is similar
in concept to Adobe Air, allowing python applications to be run -
unmodified - as stand-alone Desktop Applications. pyjamas can
therefore be considered to be a Desktop GUI framework - a peer of GTK2
and QT4 - with the startling capability that applications can also be
compiled to javascript and run in any modern web browser with
absolutely no special plugins required, or it can be considered to be
an AJAX Web Framework with the massive advantage that applications are
written in python (not javascript) with a "Desktop" mode as well.
both descriptions are accurate, making pyjamas the world's only free
software python-based platform-independent, browser-independent,
GUI-toolkit-independent and OS-independent "Holy Grail" GUI
development environment [so there. nyer, nyer to the corporate big
boys with access to $m who *still* haven't managed that one]

also included are ports of GChart and GWTCanvas, each of which run
under all web browsers and all desktop engines (with the exception at
present of the python-webkit desktop engines, which presently do not
support SVG Canvas). all pyjamas UI libraries are designed to be
browser-independent as well as platform independent. the usual
"browser foibles", tricks and gotchas are catered for with a
transparent "Platform Override" mechanism which ensures that the
published API of each UI Library is identical across all platforms
(including the Desktop Engines). [no more "If Platform == IE or
Platform == Opera...."]

due to the sheer number of modern browsers as well as the number of
pyjamas-desktop engines required to be supported, the 0.8 series will
be ready declared "stable" when sufficient community-led testing has
been done. bugreports are in for Opera 11, IE8 and Google Chrome:

still requiring testing and confirmation is Opera 9 and 10; Firefox 2,
3, 3.1, 3.5, 3.6 and 4.0; IE6, 7 and 9; Safari 3 and 4, as well as
mobile phone browsers Android, Symbian Series 60, iphone, ipad and
blackberry OS 4. also requiring testing and confirmation is the
Desktop Engines, of which there are now four variants: XulRunner
(Firefox Engine), pywebkitgtk, MSHTML and the new addition pywebkitdfb
(DirectFB). each browser and each engine requires each of the 70
examples to be run, and in the case of the pyjamas compiler (pyjs),
compilation is required with both -O and --strict (with the exception
of the LibTest example).

the pywebkitdfb engine is a new addition, and merits a particular
mention. some time last year, both GTK2 and QT4 independently
announced that they were dropping support for DirectFB from future
versions, and Enlightenment had not tested the DirectFB port for some
considerable time. Webkit-GTK with the older GTK-DirectFB libraries
simply would not compile. in the embedded space, where it can take 30
seconds to fire up Webkit-GTK on a 400mhz ARM9 and even longer to
start up WebkitQT4, this was something of a disaster. To fix this, a
new port of Webkit was created which uses DirectFB directly, using a
tiny 50k Widget Toolkit called "Lite". This development coincided
with the re-engineering of pywebkitgtk and the creation of the
pythonwebkit project, http://www.gnu.org/software/pythonwebkit:
pywebkitdfb was therefore also created at the same time.

Cutting a long story short, pywebkitdfb now exists and has a startup
time on 400mhz ARM9 processors of under 1.5 seconds. The startup time
of both WebkitDFB and pywebkitdfb on Dual-Core 2ghz Intel systems is
so quick that it's difficult to determine: an estimate is under 0.1
seconds (100ms). WebkitGTK. WebkitEFL and WebkitQT4 have
approximately 20 times or longer startup times. So although WebkitDFB
is still significantly experimental, it is definitely worthwhile
considering, especially for Embedded Systems, but even for use on
X-Windows, and even just as a plain (but modern) web browser for those
people sick to the back teeth of long startup times on their web
browser [and it has python bindings, too. yaay!]

summary: developing applications in pyjamas means the application can
be made to run just about anywhere, and it's an entirely python-based
and a free software framework. it's a community-driven project, so
requires *your* input to get it to a proven stable state.



Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question