Differences between revisions 6 and 22 (spanning 16 versions)
Revision 6 as of 2008-08-31 23:29:20
Size: 2735
Editor: 87
Comment:
Revision 22 as of 2010-11-08 11:08:49
Size: 3773
Editor: 213
Comment: Fix typo in URL
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Pyjamas-Desktop is a cross-platform framework and applications widget set, based on [http://webkit.org WebKit]. PyWebkitGtk is currently the basis for Pyjamas-Desktop, and it is conceivable that there will exist a PyWebkitQt4, and Pyjamas-Desktop will run on top of that, as well. PyjamasDesktop is similar to [http://www.async.com.br/projects/kiwi KiWi] in that it provides an easy-to-use API, where you need not know - at all - that you are running PyGTK underneath. PyjamasDesktop is a cross-platform framework and applications widget set for the desktop. There are three back-ends: [[http://webkit.org|WebKit]], [[http://pyxpcomext.mozdev.org|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 [[http://www.async.com.br/projects/kiwi|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.
Line 3: Line 3:
PyjamasDesktop is actually a port of [http://code.google.com/p/pyjamas PyJamas] which is a web toolkit, so you also have the option of running PyjamasDesktop applications as web applications - unmodified. PyjamasDesktop is actually a port of [[http://code.google.com/p/pyjamas|PyJamas]] which is a web toolkit, so you also have the option of running PyjamasDesktop applications as web applications - unmodified.
Line 15: Line 15:
Additional features, thanks to the underlying use of webkit, include: Additional features, thanks to the underlying use of web engines, include:
Line 22: Line 22:
 * (Future: full SVG Canvas support, like HippoCanvas)  * Full SVG Canvas support, like HippoCampus, if the web engine supports it (currently only XULRunner)
Line 24: Line 24:
It's specifically worth noting that due to PyjamasDesktop's history, it purely provides the "V" in "MVC" applications design, and that one option presently in use is the JSONRPC proxy client included, for communicating with the "MC" in the back-end of your application. 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. 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.
Line 26: Line 26:
Obtaining PyjamasDesktop, presently from source code, is here: PyjamasDesktop has been merged into Pyjamas, so obtaining PyjamasDesktop, is here:
Line 28: Line 28:
 * [git://github.com/lkcl/pyjamas-desktop.git]
 * [https://bugs.webkit.org/show_bug.cgi?id=16401 webkit issue 16401]
 * [http://code.google.com/p/pywebkitgtk/issues/detail?id=13 pywebkitgtk issue 13]
 * [[http://pypi.python.org/pypi/Pyjamas|PyPi Pyjamas]]
 * [[https://bugs.webkit.org/show_bug.cgi?id=16401|webkit issue 16401]]
 * [[http://code.google.com/p/pywebkitgtk/issues/detail?id=13|pywebkitgtk issue 13]]

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

 * [[http://sourceforge.net/project/showfiles.php?group_id=236659|Packages for pywebkitgtk-1.0 and libwebkit-1.0-2]]

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:

 * [[http://pyjs.org/api/|API Documentation]]
Line 34: Line 46:
 * [http://advogato.org/article/981.html advogato article]
 * [http://lkcl.net/pyjamas-desktop]
 * [http://sf.net/projects/pyjamas-desktop
]
 * [[http://advogato.org/article/981.html|advogato article]]
 * [[http://pyjs.org]]
Line 38: Line 49:
["CategoryPyGUI"] [[CategoryPyGUI]]

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.