Aller au menu - Aller au contenu

La version 4.6 de Qt est sortie

Revenir à la liste des news
Participer à la discussion

Image

Informations

Contributeur(s) : Tchouk!
Publié : le 06/12/2009 à 17:57:43
Catégorie : Programmation
Visualisations : 11 012

Licence : Creative Commons BY SA

La version 4.6 de Qt est sortie

Déjà annoncée fin septembre, la nouvelle version du framework Qt vient d'être publiée par Nokia. Cette bibliothèque, conçue initialement pour le langage C++, mais aussi accessible depuis Java ou Python, permet notamment le développement d'applications graphiques complètes compatibles avec de nombreuses plates-formes.

La version 4.6 de Qt, publiée le 1 décembre, apporte des nouveautés de différentes natures : outre quelques corrections de bugs ou optimisations, les développeurs ont cherché à proposer de nouvelles fonctionnalités, dont certaines marquent la transition vers les futures versions de Qt.

Un environnement de développement complet



Qt permet le développement d'applications portables et complètes, puisque la bibliothèque propose aussi bien des outils de création d'interfaces riches que de manipulation du réseau (via QtNetwork), de rendu Web (via QtWebKit), etc. Si la version 4.6 de Qt présente de nombreuses nouveautés techniques, elle améliore aussi le support des systèmes Windows 7 et Mac OS 10.6, sortis récemment.

Image utilisateur
Mais de nouvelles plates-formes sont également supportées, notamment le système pour téléphones et PDA Symbian OS, qui pourra désormais bénéficier d'applications écrites avec Qt. Sur son blog, l'un des développeurs de Qt décrit les étapes de ce portage, commencé en mars 2008. L'enjeu est, selon Nokia, d'environ 80 millions de machines sous Symbian OS qui pourraient désormais faire fonctionner des applications développées avec Qt.

Image utilisateur
Qt Creator
Également multiplate-forme puisque programmé avec Qt, l'environnement de développement intégré Qt Creator est lui aussi mis à jour. Il intègre notamment un éditeur de code C++, un outil graphique de conception d'interfaces riches et un gestionnaire de projets. Un travail important de traduction a en outre été fourni par la communauté, le logiciel ayant été traduit dans un certain nombre de langues, notamment en Français.



De nouvelles possibilités pour le programmeur



Le framework propose de nouvelles fonctionnalités pour le développeur, allant de la gestion des graphismes à la conception de l'architecture des applications, en passant par les technologies du web.

Le support des interfaces multi-tactiles



Image utilisateur
L'une de ces améliorations concerne le support du "multi-touch" et des "gestures" (reconnaissance gestuelle), visant à rendre plus instinctive l'utilisation des logiciels. Le framework permet d'utiliser la reconnaissance gestuelle pour faire correspondre à une série d'événements reçus par l'interface (clics, actions tactiles…) une action particulière, laissée au choix du programmeur (par exemple, dessiner un S à la souris pourrait être associé à la sauvegarde). De plus, de nouveaux gestes peuvent être enregistrés facilement.

Les classes QTouchEvent et QGestureEvent permettent de faciliter la gestion de ces technologies, en faisant le plus possible abstraction du matériel utilisé (tout doit fonctionner aussi bien sur un écran tactile sous Windows 7 que sur un téléphone portable).

Des animations et des graphismes améliorés



Image utilisateur
Afin de faciliter le développement de petits jeux et, plus généralement, d'animations en tous genres, le projet Kinetic ajoute dans chaque version de Qt de nouveaux outils pour les programmeurs. Ils permettent de représenter les animations plus simplement, sous forme d'états et de transitions, en automatisant au maximum le déplacement des objets sur l'écran (le programmeur spécifie par exemple un départ et une arrivée d'une image, mais n'a plus à programmer le déplacement exact de cette image).

Différents outils sont présentés avec cette nouvelle version de Qt. Tout d'abord, l'Animation Framework regroupe plusieurs classes permettant la description et la combinaison d'animations, via des classes telles QPropertyAnimation. Le code ne comporte alors que les positions de départ et d'arrivée de l'objet. Toutefois, si le chemin suivi par l'animation est par défaut une ligne droite, il est parfaitement possible de définir des chemins plus complexes ou d'en utiliser des pré-définis grâce à la classe QEasingCurve. Pour exemple, cette vidéo d'animations lancées sur un téléphone N810 postée sur Youtube devrait vous aider à comprendre la flexibilité visée par les développeurs.

En outre, des fonctionnalités graphiques ont été ajoutées, et sont accessibles via la classe QGraphicsEffect, qui regroupe certains effets comme le « floutage » ou la modification de l'opacité d'une image. Ici encore, il est possible de définir des effets personnalisés. Les performances des dessins et de la bibliothèque en général ont été améliorées, mais les systèmes Windows 95 et Windows 98 ne sont plus officiellement supportés par cette nouvelle version. Enfin, de nouvelles classes apparaissent dans le framework QtMultimedia pour une gestion plus complète du multi-media. Cependant, ces classes seraient pour l'instant trop instables pour être utilisées.

Image utilisateur - Image utilisateur - Image utilisateur
L'image de poisson clown servant de démonstration pour les effets


Manipuler le XML



Qt ne se limite pas à la gestion des graphismes et du fenêtrage, et permet de manipuler des documents web ou XML pour différents usages. Dans la version 4.6, la classe QWebElement présente le nécessaire pour manipuler facilement le DOM d'un document XML. La classe QWebFrame, servant à l'affichage depuis Qt 4.4, a donc été modifiée pour pouvoir renvoyer le document affiché pour permettre sa manipulation en tant que QWebElement (et plus seulement en tant que texte). Plus généralement, un ensemble de classes permettent la manipulation de documents XML.

Vers une nouvelle façon de penser les interfaces ?



Outre ces nouvelles fonctions, le projet Kinetic a également conduit, dans Qt 4.6, à présenter une nouvelle façon de concevoir les interfaces graphiques, dans un style déclaratif. Cette façon de faire décrit les éléments composant une interface indépendamment du code, en présentant la façon dont ils réagissent à différents signaux dans un langage déclaratif créé pour l'occasion, QML. Les objets décrits en QML peuvent par la suite être utilisés directement dans un code C++. Ce langage est volontairement simple, mais peut être utilisé conjointement à JavaScript pour rendre la création d'applications plus simple.

Image utilisateur
Cette volonté d'innovation vient du constat de l'évolution des interfaces utilisateur, notamment sur les téléphones portables. Les développeurs du projet Kinetic veulent donner un sens plus fort aux programmes écrits avec QML, qui ne décrivent plus comment les objets sont animés (cette tâche est celle de Qt), mais simplement la façon dont ils se comportent. Les développeurs de KDE, un projet d'environnement de bureau basé sur Qt, rejoignent le mouvement en annonçant les conséquences que ces technologies pourraient avoir sur Plasma, la technologie chargées de l'affichage des applications dans KDE.

Plusieurs exemples simples mais néanmoins complets ont été présentés pour l'occasion. Parmi eux, des jeux comme un démineur ou une application de manipulation d'images postées sur Flickr montrent les utilisations possibles de la technologie. Les sources de ces applications, postées sur Gitorious, permettent de se faire une idée de QML.

Cette nouvelle version de Qt se révèle donc intéressante pour le développement d'applications riches et portables, sur différents systèmes ou même sur téléphone mobile. Nokia, qui a racheté et libéré Symbian OS il y a maintenant plus d'un an, espère certainement s'imposer face aux concurrents tels le BlackBerry ou l'iPhone, qui grignotent petit à petit les parts de marché autrefois acquises à Symbian. Mais Qt est également un framework complet pour le développement sur micro-ordinateurs, sans doute équivalent à la technologie Java.

Pour plus d'informations



61 Participations

Pour accéder à cette section
Connectez-vous !
connexion_rpx
Page Précédente  1  2  3 
Pseudo Discussion
3 visiteurs sur cette news (0 membre et 3 anonymes)
Page Précédente  1  2  3 
Hors ligne chercheuz # Posté le 16/12/2009 à 19:40:59
Apprendre, c'est se retrouver
Avatar

Études : IUT Bordeaux 1

la bibliothéque QT est tres riche ! excellente nouvelle !! ;)

Citation
Il faut apprendre pour connaître, connaître pour comprendre, comprendre pour juger
 
Pour accéder à cette section
Connectez-vous !
connexion_rpx

Revenir à la liste des news