Features
This is a list of the overall Pyjamas features, including the
python-to-javascript compiler as well as the UI Widget Set.
For specific language features supported by the python-to-javascript
compiler, see the translator
description.
- Dynamic and reusable UI components: programmers can use
pre-designed classes to implement otherwise time-consuming
dynamic behaviors, such as drag-and-drop or sophisticated visual
tree structures.
- Supports basic python types, emulated in javascript, such as List,
Dictionary, Tuple, string; many of the standard python builtin
functions, such as map, filter, range; and some of the standard
python Exceptions are supported.
- Declarative style of "desktop" widget programming (almost identical to
python-qt4, python-gtk2 and python-wxWidgets), yet the applications
are compiled to javascript and run in all major web browsers.
- Simple RPC mechanism
- Browser history management, covering "Back", "Forward" with no hassle
for the developer. AJAX applications typically break the "Go Back"
button: use the History module to provide your application with
History management.
- Run-time Support for runtime errors: a function call stack can be kept
in debug mode, and displayed when a runtime error occurs. This is
incredibly useful in situations where installing a Javascript debugger
is inconvenient or impossible.
- Pyjamas handles all cross-browser issues for the developer.
- The developers can mix handwritten JavaScript in the Python source code,
including plumbing in to other Javascript frameworks and libraries.
- Beginnings of support for using Google APIs in GWT applications
(initially, support for Google Gears Database)
- Pyjamas is entirely Free Software.
- The developers can design and develop their application in a pure
object-oriented fashion, since they're using Python (instead of
JavaScript).