PySide 1.0.0 beta 2, le support complet des interfaces déclaratives arrive dans ce bindind LGPL Python de Qt

Voici donc sortie la deuxième beta de PySide, le binding Python de Qt initié par Nokia, dont la principale différence avec le binding historique, PyQt, réside dans la licence : PySide est disponible sous LGPL, une licence moins restrictive que la GPL employée par PyQt. Ainsi, un binding Python de Qt peut être utilisé pour des développements propriétaires sans obligation de payer une licence commerciale.

La première version beta de PySide (la bien dénommée beta 1) apportait un grand changement par rapport aux versions précédents (0.4.2 et avant) : un changement dans l’ABI (Application Binary Interface), ce qui, pour rester en dehors des détails techniques, obligeait à recompiler toute application se basant sur PySide (notamment le module Python). Cependant, ainsi, le projet se dote d’une architecture qui pourra servir pendant encore un certain temps, enlevant les choix de conceptions qui se sont avérés moins bons que d’autres.

La beta 1 améliorait le support de Qt Quick et de QML, les interfaces utilisateur dans ce langage déclaratif étaient désormais possibles en Python ; une seule chose manquait : l’enregistrement de nouveaux types QML depuis Python. Cela est désormais possible, comme l’atteste l’exemple : http://qt.gitorious.org/pyside/pyside-examples/trees/master/examples/declarative/extending/chapter5-listproperties.

Le support de Python 3 a été déclaré comme « non insurmontable » mais est prévu pour après la sortie de la version finale de la branche 1.0. Il est à remarquer, à ce niveau, que PyQt supporte déjà Python 2.x et 3.x, mais propose à chacun des API différentes, l’API 1 est plus prévue pour le portage d’applications du C++ au Python (par défaut pour Python 2.x), l’API 2 étant plus pythonique (par défaut pour Python 3.x), ce qui n’est pas très cohérent. Le PSEP 101, déjà implémenté, fait le choix de ne se baser que sur l’API 2, car plus pythonique ; ce choix permettra de passer sans trop de dégâts dans son code à Python 3.x.

Afin de fignoler le travail, au moins deux betas sont prévues avant cette version finale (trois semaines avant la beta 3, puis deux semaines pour la beta 4 et deux nouvelles semaines pour la finale, tels sont les projets).

Laisser un commentaire