Differences between revisions 18 and 19
Revision 18 as of 2009-08-19 09:19:05
Size: 3814
Editor: lkcl
Comment:
Revision 19 as of 2010-06-17 15:58:37
Size: 3771
Editor: nat74
Comment:
Deletions are marked like this. Additions are marked like this.
Line 42: Line 42:
 * [[http://pyjd.sf.net/api/|API Documentation]]  * [[http://pyjs.org/api/|API Documentation]]
Line 47: Line 47:
 * [[http://lkcl.net/pyjamas-desktop]]

PyjamasDesktop is a cross-platform framework and applications widget set for the desktop. There are three back-ends: WebKit, python-xpcom and MSHTML. The XULrunner port uses python-xpcom and hulahop; the Webkit port uses PyWebkitGtk and the MSHTML port uses python win32 comtypes. PyjamasDesktop is similar to KiWi in that it provides an easy-to-use API, where you need not know - at all - that you are running PyGTK, XULrunner or MSHTML underneath.

PyjamasDesktop is actually a port of PyJamas which is a web toolkit, so you also have the option of running PyjamasDesktop applications as web applications - unmodified.

The [PyJamas] Widget set is exceptionally comprehensive and yet is easy to use, providing:

  • Simple, Horizontal, Vertical, Docking, Decking, Popup, Stack, Tab, Grid, Flow, Table and HTML Panels
  • Text Labels and HTML including full CSS Stylesheet support and full CSS properties
  • Input, Password and Textarea input boxes
  • List drop-downs including Multi-selection
  • Buttons, Checkboxes and Radio-Buttons including groups.
  • Form Submit Panel (providing file upload).
  • Treeview, Menu and Menubar (vertical and horizontal).

Additional features, thanks to the underlying use of web engines, include:

  • Full CSS Stylesheet functionality, both local, remote and direct and simple API manipulation.
  • Option of executing javascript, for full and complete manipulation of the application.
  • Loading of complete HTML Pages, both local and remote; full URL support.
  • Plugin support for multimedia plugins such as Flash (obsoleting the need for gtk-mozplugin)
  • Access to XML, XSLT and AJAX.
  • Full SVG Canvas support, like HippoCampus, if the web engine supports it (currently only XULRunner)

It's specifically worth noting that due to PyjamasDesktop's history, it purely provides the "V" in "MVC" applications design. To communicate with the "C" in "MVC", it is recommended that you keep to XML and HTTP, and use, for example, the JSONRPC proxy client included with the distribution. In this way, the same application front-end source code can be compiled with PyJamas (into Javascript/AJAX) - with no modifications - to run with exactly the same back-end HTTP server that your PyjamasDesktop application uses. However, as you have access to the full Python core (unlike in Pyjamas, which is restricted to AJAX), you do not have to follow these guidelines.

PyjamasDesktop has been merged into Pyjamas, so obtaining PyjamasDesktop, is here:

Pre-built AMD64 .deb packages for the webkit-glib and pywebkitgtk dependencies are here:

Note that pywebkitgtk patched (or pre-built) is only required for the webkit back-end option. If the XULrunner option is to be used, then install XULrunner with python-xpcom, and python-hulahop (on debian systems: apt-get install python-xpcom hulahop). If the MSHTML engine is used, then only the python "comtypes" package, for win32 is required (http://sf.net/projects/comtypes)

Documentation

The Pyjamas API, which is identical for both PyJamas and PyjamasDesktop, is available here:

Article and information is available here:

CategoryPyGUI

PyjamasDesktop (last edited 2010-11-08 11:08:49 by 213)

Unable to edit the page? See the FrontPage for instructions.