Qt 5.8 s'annonce déjà, avec bon nombre de nouveautés pour Qt Quick
Comme un graphe de scène avec rendu purement logiciel
Le 2016-08-17 15:20:18, par dourouc05, Responsable Qt & Livres
,
comme un graphe de scène avec rendu purement logiciel
Le développement de fonctionnalités pour Qt 5.8 est à peu près terminé : il devait être achevé pour ce lundi 15 août (à cause de problèmes de test des changements dans le code source existant, la date a été repoussée au 22 août, en évitant tout ce qui n’est pas correction de défaut). Ainsi, il est d’ores et déjà possible de dresser le portrait (incomplet) de cette version à venir.
Le plus gros changement concerne Qt Quick : le graphe de scène OpenGL a été refactorisé pour éliminer la dépendance envers OpenGL. L’objectif est de passer facilement à d’autres API pour l’affichage, comme Vulkan ou DirectX 12 : d’ailleurs, cette version 5.8 pourra utiliser directement Direct3D 12 sous Windows (même si le code est expérimental). Il reste cependant à voir à quel point l’implémentation d’autres API pourra les exploiter à leur plein potentiel et ainsi donner des avantages par rapport à l’implémentation OpenGL existante. À l’origine, ce changement était nécessaire pour intégrer le code du module Qt Quick 2D Rendere (autrefois exclusivement propriétaire).
Toujours niveau Qt Quick, des caches ont fait leur apparition pour diminuer les temps de chargement et la consommation de mémoire des applications : le code compilé et les structures de données sous-jacentes aux fichiers QML et JS. Le module Qt Quick Controls 2 propose de nouveaux types (Dialog, DialogButtonBox, ButtonSeparator et MenuSeparator), ainsi que de nouveaux effets pour les styles Material et Universal et un thème System. D’autres types pour mieux s’intégrer avec le système font leur apparition, en étant toutefois expérimentaux : MenuBar, Menu, SystemTrayIcon, ColorDialog, FontDialog, MessageDialog, FileDialog et FolderDialog.
Côté sécurité sur les réseaux, les protocoles TLS PSK (qui se basent sur un échange au préalable de clés symétriques partagées) ont été implémentés dans le module Qt Network (côté serveur) et dans Qt Web Sockets (tant pour le client que le serveur). De même, HTTP 2 est maintenant implémenté.
Dans les derniers arrivés, Qt 3D se focalise sur la maturation (correction de défauts, amélioration de la performance, augmentation de la suite de tests). Qt Charts propose aussi une fonctionnalité de graphiques en chandeliers japonais, principalement utiles dans la finance. Comme prévu, trois nouveaux modules font leur apparition (Qt Wayland Compositor, Qt SCXML et Qt Serial Bus), Qt Gamepad n’est toujours pas finalisé.
Sources : New Features in Qt 5.8, [Development] [Releasing] HEADS-UP: Branching from ‘dev’ to ‘5.8’ ongoing, Qt 5.8 Feature Freeze coming…, [Development] HEADS-UP: Branching from ‘dev’ to ‘5.8’ ongoing, Qt 5.8 Feature Freeze coming….
comme un graphe de scène avec rendu purement logiciel
Le développement de fonctionnalités pour Qt 5.8 est à peu près terminé : il devait être achevé pour ce lundi 15 août (à cause de problèmes de test des changements dans le code source existant, la date a été repoussée au 22 août, en évitant tout ce qui n’est pas correction de défaut). Ainsi, il est d’ores et déjà possible de dresser le portrait (incomplet) de cette version à venir.
Le plus gros changement concerne Qt Quick : le graphe de scène OpenGL a été refactorisé pour éliminer la dépendance envers OpenGL. L’objectif est de passer facilement à d’autres API pour l’affichage, comme Vulkan ou DirectX 12 : d’ailleurs, cette version 5.8 pourra utiliser directement Direct3D 12 sous Windows (même si le code est expérimental). Il reste cependant à voir à quel point l’implémentation d’autres API pourra les exploiter à leur plein potentiel et ainsi donner des avantages par rapport à l’implémentation OpenGL existante. À l’origine, ce changement était nécessaire pour intégrer le code du module Qt Quick 2D Rendere (autrefois exclusivement propriétaire).
Toujours niveau Qt Quick, des caches ont fait leur apparition pour diminuer les temps de chargement et la consommation de mémoire des applications : le code compilé et les structures de données sous-jacentes aux fichiers QML et JS. Le module Qt Quick Controls 2 propose de nouveaux types (Dialog, DialogButtonBox, ButtonSeparator et MenuSeparator), ainsi que de nouveaux effets pour les styles Material et Universal et un thème System. D’autres types pour mieux s’intégrer avec le système font leur apparition, en étant toutefois expérimentaux : MenuBar, Menu, SystemTrayIcon, ColorDialog, FontDialog, MessageDialog, FileDialog et FolderDialog.
Côté sécurité sur les réseaux, les protocoles TLS PSK (qui se basent sur un échange au préalable de clés symétriques partagées) ont été implémentés dans le module Qt Network (côté serveur) et dans Qt Web Sockets (tant pour le client que le serveur). De même, HTTP 2 est maintenant implémenté.
Dans les derniers arrivés, Qt 3D se focalise sur la maturation (correction de défauts, amélioration de la performance, augmentation de la suite de tests). Qt Charts propose aussi une fonctionnalité de graphiques en chandeliers japonais, principalement utiles dans la finance. Comme prévu, trois nouveaux modules font leur apparition (Qt Wayland Compositor, Qt SCXML et Qt Serial Bus), Qt Gamepad n’est toujours pas finalisé.
Sources : New Features in Qt 5.8, [Development] [Releasing] HEADS-UP: Branching from ‘dev’ to ‘5.8’ ongoing, Qt 5.8 Feature Freeze coming…, [Development] HEADS-UP: Branching from ‘dev’ to ‘5.8’ ongoing, Qt 5.8 Feature Freeze coming….
-
Aurelien.Regat-BarrelExpert éminent séniorC'est destiné à être utilisé par les développeurs embarqués en particulier. Qt Lite (non dispo en GPL, uniquement en commercial) fournit un configurateur graphique qui permet à coups de clics de choisir les modules que l'on veut, et il ne s'agit pas juste de QtCore, Widgets ou Network, mais de 150 fonctionnalités, donc un granularité beaucoup plus fine au niveau du code compilé. Et c'est ce qui permet de réduire la taille finale des binaires par 5. Pour cela ils ont enrichi qmake pour supporter un système maison de définitions de modules en json. Cela a été l'occasion de remettre à plat la configuration de Qt qui se faisait via des scripts sous Unix et un exécutable dédié (configure.exe) sous Windows, donc double maintenance. Du coup je me demande si Qbs a un avenir (déjà qu'il a du mal à percer)...
Avec cette nouvelle version, Qt cible clairement l'embarqué (IoT) en supportant officiellement comme hardware minimal un ARMv7 300MHz avec 16 / 32 Mo de ROM / RAM. Et surtout, plus besoin de GPU (OpenGL) pour faire tourner QML. Et ils pensent pouvoir réduire encore les besoins dans le futur. C'est une très bonne nouvelle ! Par contre faut payerle 25/01/2017 à 14:37 -
JiyuuRédacteur/Modérateur
Merci Aurelien pour cette précision que, sauf erreur de ma part, je n'ai vu nul part... Je pouvais toujours le chercher ce Qt Litele 28/01/2017 à 9:35 -
Aurelien.Regat-BarrelExpert éminent séniorAh oui j'ai oublié de préciser que j'ai eu ces infos dans un webinar dédié au sujet. Il y a d'ailleurs une nouvelle session le 2 février:
https://www.qt.io/event/encore-qt-lite-overview/le 30/01/2017 à 12:03