Special Note About Pyjamas Development
Pyjamas is Free Software, and is made up of its contributions from
users, for its users. As a Free Software Project, its existence and
continued development depends exclusively on financial and technical
contributions.
If you use Pyjamas for a non-commercial project, consider contributing
patches, examples, or documentation updates. If you use it for a
commercial project, consider contracting the Lead Developers to assist
your development. This helps ensure the Pyjamas codebase remains stable
and consistent with your project's development. If you just like Pyjamas
and wish to see it move forward, consider sponsoring or making a
donation
to help support the continuing efforts toward the Pyjamas Roadmap.
Pyjamas Roadmap
As Pyjamas comprises several projects, each has its own future and
direction.
Pyjamas Compiler
- Add support for exec and eval (like Skulpt).
- Improve the python interoperability support for --strict, with the goal of
providing full and complete python interoperability for this mode.
- Provide a complete suite of interoperable python modules.
- Be able to run and pass the standard http://python.org test suite, under
pyv8run and pysmrun (all 25,000 regression tests).
- Add decorators to all functions which allow the declaration of the types
of parameters and the return result, and enhance the compiler so that it
optimises the generated code. One of the flaws of the python programming
language is that every operation (+, -, len etc.) requires double-checking
the type of the object, and http://python.org always check whether the two
types are integers, then moves into complex detection and type coercion
second. Converting this logic to javascript has proved to be very
expensive for --strict.
Emacs and PyQT4 solve this by allowing the type of parameters and the
return result to be declared in advance.
- Complete the enhancements work listed in the TODO file.
Pyjamas Widget Set
- Continue to track GWT Widgets
- Seek out cool and useful projects to convert to Pyjamas, such as gwt-g3d
(WebGL 3D API using new HTML5 features)
- Make automated conversion of GWT-compliant code into Pyjamas code much
easier.
Pyjamas Desktop
- Add more runtimes, especially for MacOSX and embedded systems.
- Provide easy-to-install dependencies for all platforms across all
computing architectures (webkitgtk is not easy to install on Win32
or MacOSX, neither is pywebkitgtk).
- Change the startup API so that it uses the HTML loader file to detect the
module (just like pyjs)
- Provide the means to open several web engine windows (support for
Window.open) and still have them load and run pyjamas applications.