LinuxFR

scoop

Qt 4.6, la bibliothèque C++ libre (GNU LGPL) et multi plates-formes vient de sortir. Comme à son habitude, à côté des optimisations plus ou moins importantes (voire spectaculaire en ce qui concerne QtScript), des frameworks entiers apparaissent dans le but de résoudre différents cas d'utilisations de cette bibliothèque multi-usages. Distribuée officiellement sur Linux, UNIX, Mac OS X, Windows et Windows CE, une nouvelle plate-forme fait son entrée : Symbian. Cette dernière est un système d'exploitation pour smartphones détenu par Nokia (qui est également le propriétaire de Qt depuis janvier 2008). La prise en charge de Symbian se fait au travers du framework S60.

corps dépêche

Si un seul adjectif devait désigner Qt, c'est bien celui de vaste. Cette bibliothèque permet bien plus que de simplement développer des applications graphiques portables et permet également de faire (liste non exhaustive) : Un des points forts (mais pour certains c'est une critique) de Qt est le MOC, un préprocesseur de code C++ qui permet à l'aide de macros d'étendre le langage C++ en fournissant des mécanismes d'introspection et surtout une architecture de signaux (des évènements) et slots (des actions à réaliser suite à ces évènements) facilitant grandement le dialogue entre les différents objets C++ d'une application. Qt ne se limite pas au C++ (bien que cela soit le langage de prédilection et le seul officiellement pris en charge depuis l'arrêt de QtJambi pour Java) car plusieurs bindings existent : Python, Java, C# et quelques autres moins avancés. Passons maintenant aux nouveautés de cette version : Deux frameworks développés en interne depuis plusieurs mois et dont nous avons eu des aperçus via les blogs des développeurs de Qt apparaissent : Lorsque ces deux frameworks sont utilisés de concert, la réalisation d'animation est grandement simplifiée. L'embarqué étant le secteur principal d'activité de Nokia, Qt se devait de fournir des outils pour gérer les évènements multi-points (comme sur l'iPhone pour donner une idée) et la gestuelle (gestures overview), c'est chose faite avec l'apparition des classes QTouchEvent et QGestureEvent. La gestion d'XML est encore développée et après la gestion de XPath, XQuery et XSLT, vient s'ajouter dans cette version celui des Schema XML du W3C, permettant de valider un document XML. La manipulation d'éléments d'une page HTML est également facilitée via l'ajout de la classe QWebElement qui permet, entre autre, de sélectionner des éléments via les sélecteurs de CSS2. Le développement du multimédia continue comme annoncé. Avec Qt 4.6, un nouveau module est ajouté, QtMultimedia, qui fournit un accès bas niveau au système audio, mais également vidéo via l'arrivée de plusieurs classes représentant des images d'un flux vidéo. Concernant WebKit, la version est mise à jour depuis le tronc et un remplacement en règle est réalisé dans QtScript pour utiliser JavaScriptCore, l'interpréteur JavaScript de Webkit qui fait de la compilation à la volée. Ce remplacement permet dans la majorité des cas une amélioration faramineuse (QtScript in 4.6). Qt Creator, l'environnement de développement dédié à Qt, dont la première version est sortie en même temps que la version 4.5, est également mis à jour dans sa version 1.3. À côté de diverses améliorations, comme celle de la complétion et l'ajout de la refactorisation, s'en cache une qui pourrait intéresser nombre de lecteurs de LinuxFr : la traduction en français des outils Qt. Cette traduction, ainsi que celles en allemand, espagnol, italien, japonais, polonais, russe et slovène sont rendues possibles grâce à l'aide de la communauté qui a abattu un gros travail (Qt Créateur - Qt Creator is also in French). Ces contributions sont rendues possibles grâce à l'ouverture de plus en plus grande du développement de Qt, qui avant était fermé (même si l'on avait accès au source) et n'acceptait pas de contribution. Concernant KDE dont le développement est intimement lié à celui de Qt, la prochaine version majeure, la 4.4, dont la sortie prévue est pour février 2010, utilisera cette version de Qt. Le futur La sortie des frameworks Animation et State Machine prépare l'arrivée de Declarative UI et du langage de description QML. Cette dernière partie du projet de recherche Kinetic se veut comme une nouvelle manière de décrire les interfaces graphiques (ce que font actuellement les fichiers .ui de QtDesigner) et comment elles doivent se comporter (et c'est là la nouveauté). L'utilisation de QML a pour objectif de rendre la conception d'interfaces graphiques attrayantes (comprendre ici : contenant des effets de transitions entre les actions comme on les rencontres souvent dans de nombreuses interfaces utilisateurs de smartphones) plus facile. Un petit tour sur un des Qt Blogs explique plus en détail à quoi ressemble QML et ce que l'on peut en faire. Le projet KDE a rapidement vu l'intérêt de QML et a décidé de commencer à travailler sur son utilisation dans Plasma (le logiciel qui gère le bureau de KDE). Plusieurs cas d'utilisations spécifiques aux smartphones vont être pris en charge par Qt, ce la sera notamment le cas de la géolocalisation, de la gestion de contacts, de l'envoi de messages (SMS, MMS et bien sûr email), etc... Et pour finir dans les grands projets de 2010 : le support de Maemo (la plateforme de développement utilisée par appareils de Nokia), est prévue. Pour l'instant Maemo utilise GTK+, le portage de Qt sur cette plateforme ne semble pas de bonne augure pour GTK+... Pour plus de détail sur les projets en cours, vous pouvez consulter une petite roadmap.
Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]