Sortie de Qt 5.0

À proximité de Noël mais aussi d’une nouvelle fin du monde, Digia dépose un gros cadeau sous le sapin : Qt 5. Pour rappel, Qt est le standard de facto pour les interfaces graphiques en C++, mais il fournit également un bon nombre d’autres fonctionnalités (comme le support de WebKit, pour afficher des pages Web, des fonctionnalités multimédia, de réseau, de script, des interfaces déclaratives avec Qt Quick, etc., sans oublier l’EDI Qt Creator). Pour ceux qui en suivent l’actualité, il est également important de noter qu’il s’agit de la première version majeure depuis que Trolltech, la société l’ayant créé, a été rachetée, d’abord par Nokia, puis par Digia.

Fonctionnalités majeures

Cette version est disponible comme un paquet de binaires pour toutes les plateformes desktop (Linux 32 et 64 bits, Mac OS X 10.7 et 10.8, Windows), comprenant, en plus de Qt 5, l’environnement de développement Qt Creator 2.6, les exemples et la documentation complète.

Les fonctionnalités majeures sont rassemblées dans une vidéo, entièrement générée par une application Qt 5, avec Qt Quick, OpenGL et WebKit. (Les sources sont bien évidemment disponibles : https://qt.gitorious.org/qt-labs/qt5-launch-demo.)

Également à noter : la deuxième beta a apporté une totale refonte de la documentation, elle est maintenant plus adaptée à la modularisation du framework.

Compatibilité

Qt 5 est un grand remaniement de Qt 4 (sorti en 2005), tout en restant dans la continuité : le but est d’avoir un framework ouvert sur le futur, prêt à supporter toutes les plateformes, mais sans rupture forte avec Qt 4, afin de faciliter la migration.

Cette version a donc été l’occasion de bien nettoyer l’architecture interne, notamment avec une modularisation du framework, mais une migration très rapide de la plupart des applications est possible. Ceci implique notamment que les widgets, la base des interfaces graphiques des précédentes versions, sont toujours supportés, bien qu’ils ne sont plus inclus dans le module Qt GUI (ils ont été déplacés dans un autre module, afin d’en faciliter la maintenance (ils ne sont plus la seule et l’unique manière de créer des interfaces).

Un exemple de cette très forte compatibilité : Qt Creator. Une seule base de code est utilisée pour compiler tant avec Qt 5 que Qt 4.

Futur

Pour la série 5.0, encore quelques points seront régularisés : pas de paquet de binaires disponible pour MinGW (le port de GCC pour Windows), étant donné que WebKit ne le supporte pas complètement, ni pour Visual C++ 2012 (il faut compiler Qt 5 soi-même). Il est actuellement prévu de résoudre ces problèmes pour Qt 5.0.1, prévu fin janvier.

Au-delà cette première échéance, la version 5.1 est prévue pour le printemps 2013, où le but sera de stabiliser encore plus le framework et de porter des modules add-ons tels que Qt 3D et Qt Sensors dans les modules principaux. Il est également prévu de montrer les avancées des ports vers Android et iOS.

Pour les versions suivantes, il est prévu que deux versions mineures sortent chaque année.

Contribution

Bien évidemment, il s’agit d’une première version finale, expurgée des bogues les plus problématiques, mais toute une série de problèmes est connue : http://qt-project.org/wiki/Qt500KnownIssues. Si vous souhaitez contribuer au framework (en rapportant de nouveaux bogues, en en corrigeant, en développant de nouvelles fonctionnalités, etc.), n’hésitez surtout pas : http://qt-project.org/contribute.

Déjà un grand nombre de gens ont contribué à cette version : 427 personnes pour le code source. Bien plus pour le rapport de bogues, les discussions, le feedback. Avec un peu plus d’un an, le Qt Project s’est montré être une grande communauté, une grande réussite pour l’avenir du framework.

Source : http://blog.qt.digia.com/blog/2012/12/19/qt-5-0/

Sortie de Qt 5 Release Candidate

La RC de Qt 5 est sortie, la Beta 2 étant disponible depuis les Developer Days, début novembre.

Sur ce temps, l’objectif a été la finalisation de l’API Qt et la résolution de bogues, il s’agit de l’étape de polissage du produit avant qu’il soit labellisé final. La structure et le contenu n’ont presque pas changé depuis la version précédente, à deux exceptions près :

  • la documentation a été restructurée, pour la rendre plus facile d’accès ; de même, les exemples ont été revus et sont désormais disponibles depuis l’écran d’accueil de Qt Creator ;
  • quelques changements dans les API ont été apportés.

L’objectif de cette nouvelle version majeure était de faciliter autant que possible la transition depuis Qt 4, ces nouveaux changements d’API ne font pas changer la balance.

Cette nouvelle version devrait être très proche de la version finale : à moins que de bogues importants soient remarqués d’ici là, la version finale devrait sortir la semaine prochaine. Sinon, une nouvelle RC sera publiée. L’objectif de Qt 5 en 2012 devrait donc être respecté !

Source : http://blog.qt.digia.com/blog/2012/12/06/qt-5-0-release-candidate/
La nouvelle documentation : http://qt-project.org/doc/qt-5.0/qtdoc/index.html
Les changements depuis Qt 4 : https://qt.gitorious.org/qt/qtbase/blobs/stable/dist/changes-5.0.0
Télécharger Qt 5 RC : http://qt-project.org/downloads