Sortie de Qt 5 beta
Cette préversion montre l'achèvement de la modularisation du framework

Le , par dourouc05

0PARTAGES

2  0 
Première version majeure à sortir sous l'égide du Qt Project, synonyme et symbole de l'ouverture du projet Qt au monde (et du désistement progressif de Nokia), Qt 5 est à présent disponible en beta. Cette version majeure est en cours de développement depuis plus d'une quinzaine de mois (du moins, son annonce officielle) et, sur ce temps, bien des changements architecturaux ont eu lieu (voir ci-dessus, notamment), la communauté du Qt Project n'ayant cessé de s'élargir.

Cette nouvelle version permettra de créer plus facilement et plus rapidement des applications exigeantes mais performantes (même avec des ressources limitées, le GPU sera plus utilisé ; par exemple, on peut atteindre le nirvana de 60 FPS sur le Raspberry Pi, pour bien moins que cinquante dollars), avancées en termes d'interface (avec la nouvelle version majeure de Qt Quick).

Modularisation

Une grande nouveauté de cette version est, pour rappel, la modularisation, maintenant achevée : ils seront plus indépendants les uns des autres, sans devoir faire partie du cœur de Qt, pour faciliter l'utilisation de quelques modules seulement, sans devoir compiler/télécharger le reste. Ainsi, on distingue ceux qui font partie du cœur, de Qt Essentials, et les add-ons. On ne parlera plus de Qt Mobility comme d'un produit complémentaire, mais comme une série de modules de Qt. Ainsi, KDE pourra proposer tout son framework comme add-on de Qt, au lieu de le maintenir bien séparé comme actuellement.

Ce nettoyage s'accompagne de nouvelles API dans Qt Core (support de JSON, expressions régulières compatibles Perl – une implémentation plus rapide et offrant plus de fonctionnalités que l'actuel QRegExp –, reconnaissance des types MIME, chemins standard), de la vérification des connexions des signaux et slots à la compilation, etc. Certaines de ces fonctionnalités sont directement inspirées de KDE, voire reprises.

De même, côté GUI, OpenGL fait maintenant partie de Qt GUI, avec quelques améliorations (QWindow étant une meilleure abstraction pour les fenêtres de haut niveau que QWidget).

Les widgets font maintenant partie d'un module non essentiel, il faudra en activer le support manuellement, mais les API basées sur des widgets continueront d'exister. Elles sont d'ailleurs implémentées par-dessus les fonctionnalités proposées par Qt GUI, tout comme Qt Quick.

Le plug-in Visual Studio est mis à jour pour supporter ces fonctionnalités (bien que toujours en beta), en adaptant l'existant ; cependant, cette nouvelle version ne supporte plus Qt 4, du moins pour le moment.

Performances et interfaces graphiques

Qt 5 a pris à bras le corps deux problèmes pour la conception d'interfaces graphiques à hautes performances : les outils pour concevoir ces interfaces et les performances de leur rendu.

D'un côté, de nouvelles API et extensions ont été ajoutées à Qt Quick pour faciliter la création d'applications riches et fluides pour des périphériques orientés vers les entrées tactiles (tout en gardant le support des entrées clavier). Le module de support de WebKit supporte également de base des interactions tactiles.

Pour les performances, c'est toute une nouvelle pile graphique qui est disponible, entièrement basée sur OpenGL, facilitant l'intégration de contenu OpenGL (shaders et particules, par exemple). Le rendu du texte est aussi entièrement accéléré matériellement (meilleures performances, consommation moindre), d'où les bonnes performances même sur du matériel bon marché (bien qu'il faudrait voir ce sur quoi portaient les tests).

Compatibilité des sources

Évidemment, si tout ceci s'effectue comme lors de la transition de Qt 3 vers Qt 4, les développeurs se montreront réticents ; cependant, un des objectifs a été de faciliter la transition tant du code que des compétences de Qt 4 à Qt 5, en gardant la compatibilité des sources autant que possible (Qt Creator, actuellement, peut être compilé tant avec Qt 4 que Qt 5, sans changement dans le code).

Le principal est de changer les fichiers de projet, pour prendre en compte la modularisation du framework. Un script est d'ailleurs fourni à cette fin. Cependant, tout le code s'intégrant directement avec le système de fenêtrage natif devra être adapté.

Sources : http://labs.qt.nokia.com/2012/08/30/...-beta-is-here/, http://195.197.180.217/en/Blogs/Qt-b...been-Released/

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de MicroJoe
Membre du Club https://www.developpez.com
Le 30/08/2012 à 21:56
Pour les performances, c'est tout une nouvelle pile graphique qui est disponible, entièrement basée sur OpenGL, facilitant l'intégration de contenu OpenGL (shaders et particules, par exemple). Le rendu du texte est aussi entièrement accéléré matériellement (meilleures performances, consommation moindre), d'où les bonnes performances même sur du matériel bon marché (bien qu'il faudrait voir ce sur quoi portaient les tests).
Du Qt au rendu accéléré via la carte graphique à l'instar de WPF ? J'aime.
Avatar de VivienD
Membre chevronné https://www.developpez.com
Le 30/08/2012 à 22:52
Bon... Il semblerait que le sujet, que j'avais ouvert pour qu'on liste les changements et ajouts de Qt 5 par rapport à Qt 4, soit aussi utile que l'iPad en ce qui me concerne.

Sinon, cette nouvelle version de Qt s'annonce prometteuse.
Avatar de Freem
Membre émérite https://www.developpez.com
Le 31/08/2012 à 11:06
Citation Envoyé par dtrosset Voir le message
J'attendais surtout la fin du precompilateur moc ...
Je pense que c'est le truc qui rebute le plus d'utilisateurs potentiels.
Bon, j'imagine que s'ils continuent sur la voie de la modularité, ce sera faisable un jour...
Avatar de bretus
Membre éprouvé https://www.developpez.com
Le 31/08/2012 à 21:12
Citation Envoyé par Freem Voir le message
Je pense que c'est le truc qui rebute le plus d'utilisateurs potentiels.
Bon, j'imagine que s'ils continuent sur la voie de la modularité, ce sera faisable un jour...
J'ai du mal à voir le lien avec la modularité. Le moc me semble surtout indispensable pour faire de la réflexion et de l'introspection sans enregistrer à part la liste des propriétés et méthodes disponibles.

Je rate un point?
Avatar de gbdivers
Inactif https://www.developpez.com
Le 04/09/2012 à 16:44
Citation Envoyé par bretus Voir le message
J'ai du mal à voir le lien avec la modularité. Le moc me semble surtout indispensable pour faire de la réflexion et de l'introspection sans enregistrer à part la liste des propriétés et méthodes disponibles.

Je rate un point?
Non, tu as raison, aucun rapport à priori entre modularité et moc

(sauf si la modularité facilite la duplication des modules pour faire des versions ayant besoin de moc et d'autres non, mais j'y crois pas trop)

Citation Envoyé par MicroJoe Voir le message
Du Qt au rendu accéléré via la carte graphique à l'instar de WPF ? J'aime.
Ca fait très longtemps que Qt utilise OpenGL pour l’accélération matérielle
Ce qui change avec Qt 5, c'est la position de QtOpenGL, qui est maintenant intégré au Core (avec un module pour la compatibilité avec Qt 4)
Avatar de LittleWhite
Responsable 2D/3D/Jeux https://www.developpez.com
Le 13/11/2012 à 10:29
La beta 2 vient d etre annonce aux keynotes des Qt Dev Days 2012. Plus d informations viendront.
Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 13/11/2012 à 11:13
Juste pour les Qt DevDays 2012 à Berlin (reportage en live), Qt 5.0 Beta 2 est de sortie, comme prévu. La sortie de la version finale est toujours prévue pour cette fin d'année 2012.

D'ailleurs, tout commence à se mettre au parfum Qt 5 : Qt Creator 2.6, sorti il y a peu, peut être basé sur Qt 5 pour compiler avec Qt 5, formant une version complète de l'environnement Qt très utile pour tester cette nouvelle version majeure.

Cela montre aussi le niveau de compatibilité entre Qt 5 et Qt 4 : le même code source est utilisé pour compiler Qt Creator, peu importe la version de Qt. Qt 4.8 et Qt 5.0 garantissent presque une garantie de compatibilité des sources.

Cette préversion montre aussi une liste des modules et paquets qui feront partie de la version 5.0 finale, ainsi que les distributions entre modules essentiels et add-ons. Mêmes si ces listes paraissent longues (signe d'un grand nombre de fonctionnalités), certains modules – comme Qt 3D – n'en font pas partie, bien qu'ils seront disponibles du Qt Project et utilisables avec Qt 5.0.
Qt Essentials :
Qt Core
Qt Network
Qt Gui
Qt Sql
Qt Testlib
Qt Widgets
Qt Qml
Qt Quick
Qt Multimedia
Qt WebKit
Qt WebKit Widgets
Qt Add-ons :
Qt Xml
Qt XmlPatterns
Qt Svg
Qt Concurrent
Qt Printsupport
Qt DBus
Qt OpenGL
Qt ActiveQt
Qt Graphical Effects
Qt Script
Qt Declarative
Qt Image Formats
Outils :
Qt Assistant
Qt Linguist
Qt Designer
Qt Translations
Qt Creator
Qt Documentation

En tant que préversion, un certain nombre de problèmes est déjà connu ; notamment, la documentation n'a pas reçu sa dose d'attention, de grands changements sont à prévoir à ce niveau avant la version finale. La liste des problèmes connus : http://qt-project.org/wiki/Qt500beta2KnownIssues.

En tant que projet communautaire, il est important que tous participent à l'élaboration de cette nouvelle version : essayez Qt 5 sur vos projets, donnez votre avis au Qt Project pour résoudre autant de problèmes potentiels que possible avant la version finale.

Télécharger Qt 5 Beta 2 : http://qt-project.org/downloads

Source : http://blog.qt.digia.com/blog/2012/1...beta-2-is-out/
Avatar de gbdivers
Inactif https://www.developpez.com
Le 13/11/2012 à 11:59
Pour Qt Creator 2.6, il est indiqué dedans qu'il est basé sur Qt 4.8.3 (EDIT : tiens, la version de Qt Creator 2.6 donné dans le lien est bien indiqué avec Qt 5... je sais plus où j'ai trouvé la précédente version de Qt Creator 2.6 que j'avais)
Pour Qt3D, dommage... J'espère que ça sera intégré dans les prochaines versions
Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 06/12/2012 à 18:28
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

Billet original
Avatar de Klaim
Membre expert https://www.developpez.com
Le 07/12/2012 à 14:15
Quelques questions:

- est-ce que les binaires VS2010 sont compatibles avec un projet compile sous VS2012?
- est-ce que le plugin Visual Studio supporte 2012 maintenant?
Responsable bénévole de la rubrique Qt : Thibaut Cuvelier -

Partenaire : Hébergement Web