Luke Kenneth Casson Leighton
lkcl at lkcl.net
Wed Mar 11 22:57:43 CET 2009
compiler with an AJAX Web Widget set, for creating python
desktop-like applications that run in all major web browsers.
Pyjamas is NOT "another AJAX framework" where the
widgets are predefined, fixed and inflexible. Thanks to
the compiler, Pyjamas is a dynamic "framework's framework"
where developers can define their own web framework, in
Python classes and modules instead of being forced to
The Pyjamas Web Widget set makes it possible for users
to develop Rich Media Applications as if they were writing
or even very much HTML. Developing applications using
Pyjamas is much more similar to and has far more in
common with developing PyQT4 or PyGtk2 applications than
it has with "traditional" AJAX web development. Yet,
thanks to the applications actually running in a Web
Browser, developers get the best of both worlds.
For those people who prefer to stick to "true" Desktop
development, or who prefer to debug applications in
Python rather than rely on the debugging features of
Web Browser engines, there is the sister project,
Pyjamas-Desktop - http://pyjd.org
Pyjamas-Desktop allows the same application source code
to be run, unmodified, in both the web browser and as
a desktop application.
The 0.5 release is a significant functionality update.
compiler such as support for exceptions (try / except), lambda,
and a debug option to track and print run-time stack traces,
is difficult or impossible (IE6 running under Wine).
Also, the code-generator has undergone a reorganisation,
and now has much better support for local and global
variable, function, class and module scopes.
Support for Dynamic loading of modules has been added,
(compiled) "cache" file. This makes it possible to
share the modules across the 5 supported platforms,
bringing a dramatic reduction in the amount of compiled
module loading makes it much clearer how developers may
interact with pyjamas-compiled modules from existing
applications which already have an AJAX framework in place.
Users of previous versions of Pyjamas should note that the
UI widget classes have undergone a restructuring, reducing
the 4,000 line ui.py into 70 separate small modules. The
reorganisation allows applications to undergo a significant
importing UI Modules that are needed. Reorganisation
scripts can be found in contrib/pyjamas_0.4_0.5_upgrade/
that will help in the conversion of existing applications.
Also, to make developers' lives easier in both the testing
and deployment of pyjamas applications, buildout has been
added, along with a standard setup.py.
Finally, an experiment is included, which is the beginnings
of a way to speed up the execution of standard python,
in a similar way to Python-Psyco.
and PyV8 - http://code.google.com/p/pyv8 - becomes a JIT
compiler that supports both ARM and i386 assembler.
The use of the Google V8 JIT compiler provides a means
to dynamically load standard c-based python modules,
is actually still human-readable. These are two distinct
advantage over pypy, and the third advantage is that the
direct translation, instead of going through an intermediary
(RPython) means that the full dynamic semantics of the
Downloads are available at:
Pyjamas Book is at:
Links to other documentation is on the main site:
Development and discussion is at:
Subversion Source repository is at:
IRC Channel is:
#pyjamas at irc.freenode.net
IRC Logs (thanks to Tim Riker) at:
More information about the Python-list