Editing PyMaemo/GUI toolkit selection guide

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
-
This page describes the alternative toolkits with which graphical user interfaces can be created in [[PyMaemo]]. Their respective differences and future prospects are discussed to help any new PyMaemo developers make an informed technology selection.
+
== Introduction ==
 +
 
 +
This page describes the alternative toolkits with which graphical user interfaces can be created in PyMaemo. Their respective differences and future prospects are discussed to help any new PyMaemo developers make an informed technology selection.
In particular, the differences of GTK+ and Qt toolkits are described, as well as the roles of the PySide and PyQt Qt binding projects.
In particular, the differences of GTK+ and Qt toolkits are described, as well as the roles of the PySide and PyQt Qt binding projects.
 +
 +
Note that even though all bindings have licensing options that allow proprietary/commercial development in some form, at least for Maemo 5, the Ovi store does not accept Python based applications. This means that if you plan on using the bindings listed below, you will have to manage distribution and payment by yourself.
== GTK+-based toolkits ==
== GTK+-based toolkits ==
Line 29: Line 33:
=== PySide ===
=== PySide ===
-
[http://www.pyside.org/ PySide] is a Python binding for the Qt framework, developed by Nokia at OpenBossa by the same team as PyMaemo itself. It was initially published in August 2009 and, on the Maemo 5 platform, provides full-featured bindings for Qt 4.7 (on Maemo 5, Qt 4.6, including the Maemo-specific QMaemo5 classes). PySide is licensed under LGPL, allowing both open source and proprietary software development. The generator tools for creating new bindings are also available, allowing developers to rapidly create new bindings if required.
+
[http://www.pyside.org/ PySide] is a Python binding for the Qt framework, developed by Nokia at OpenBossa by the same team as PyMaemo itself. It was initially published in August 2009 and, on the Maemo 5 platform, provides full-featured bindings for Qt 4.6 (including the Maemo-specific QMaemo5 classes). PySide is licensed under LGPL, allowing both open source and proprietary software development. The generator tools for creating new bindings are also available, allowing developers to rapidly create new bindings if required.
-
The PyMaemo team will provide the bindings for the Harmattan platform APIs (MeeGo Touch, Qt Mobility, select Harmattan platform APIs) using PySide.
+
The PyMaemo team will provide the bindings for Maemo 6 platform APIs (DirectUI, Maemo API) using PySide.
-
Since PySide is a relatively young project, it is still ongoing maturization period and faces more changes than PyQt.
+
Currently, the disk and memory footprint of PySide is still somewhat larger than PyQt (although the run-time performance is at least on par). This issue will be solved in March 2010 when the new binding architecture, [http://setanta.wordpress.com/2009/08/31/shiboken/ Shiboken], will replace the current Boost.Python based implementation. Also, since PySide is a relatively young project, it is still more buggy than PyQt.
-
If your project requires Maemo/MeeGo-specific Qt extensions or latest Qt features and you want your application to work in the future MeeGo platforms, PySide is the best choice for you.
+
If your project requires Maemo-specific Qt extensions or Qt 4.6 features and you don't mind the temporary memory impact of PySide and want your application to work as is in the future Maemo platforms, PySide is the best choice for you.
 +
 
 +
(Note: starting with PR1.2, PyQt also provides full QMaemo5* and Qt4.6 support)
=== PyQt ===
=== PyQt ===
Line 53: Line 59:
PyQt 4.7 for N900 was released in Feb 2010 announced [http://talk.maemo.org/showthread.php?t=42754 here]
PyQt 4.7 for N900 was released in Feb 2010 announced [http://talk.maemo.org/showthread.php?t=42754 here]
-
PyQt 4.7.3 for N900 [[Maemo 5/PR1.2|PR1.2]] (Qt4.6) was released in Apr 2010 announced [http://talk.maemo.org/showthread.php?p=626443 here]
+
PyQt 4.7.3 for N900 PR1.2 (Qt4.6) was released in Apr 2010 announced [http://talk.maemo.org/showthread.php?p=626443 here]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
[[Category:Python]]
[[Category:Python]]

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)