Trois mois après Qt 5.6, une version avec assistance technique à long terme, voici venue l’heure de Qt 5.7. Elle n’est pas dénuée de nouvelles fonctionnalités, cependant, à cause des différents retards dans le développement (d’abord pour Qt 5.6, puis 5.7, mais dans une moindre mesure) : outre les habituelles corrections de défauts en tout sens (néanmoins pas toujours en quantité suffisante) et améliorations de performance, cette nouvelle version de Qt vient avec de nouvelles fonctionnalités pour le domaine automobile et une série de modules anciennement uniquement disponibles sous licence commerciale, avec des changements au niveau des licences. Maintenant, les éditions commerciale et libre sont sur un pied d’égalité au niveau des fonctionnalités (à l’exception du Qt Quick Compiler, cet écart sera résorbé pour Qt 5.8).
Cette version pouvant laisser de côté la compatibilité avec une série d’anciens compilateurs (Qt 5.6 étant disponible pour ceux qui ne peuvent pas encore faire de mise à jour à ce niveau), le code même de Qt peut exploiter des fonctionnalités bien plus modernes de C++11 (constexpr, sémantique de déplacement, auto, for sur des intervalles). Ainsi, le code de Qt sera plus facile à maintenir dans le futur. Ces efforts de mise au goût du jour se poursuivront dans les prochaines versions et pourront offrir de nouvelles API plus modernes.
Un autre point très important de Qt 5.7 est l’arrivée de Qt 3D en version finale : il sera bien plus facile d’intégrer des graphismes 3D dans des applications, voire de transformer toute l’interface en 3D. Ce moteur 3D complet, accessible tant en C++ qu’en QML, rejoint l’intégration précédente d’OpenGL, le module Qt Canvas 3D et le nouveau Qt Data Visualization. Ce module dépasse de loin le simple rendu 3D, en proposant un framework 3D complet et extensible.
Côté Qt Quick, les contrôles de base ont droit à une cure de jouvence. La bibliothèque Qt Quick Controls arrive en version 2.0, la modification principale étant que les composants proposés ne sont plus seulement prévus pour les plateformes de bureau, mais également pour l’embarqué. Ils sont donc bien plus légers en mémoire et leur performance a été améliorée. Ces améliorations viennent avec quelques limitations, un peu en fonctionnalité, un peu en apparence (il n’y a plus d’intégration avec le style natif de la plateforme). Par contre, les gains en performance sont impressionnants.
De nouvelles fonctionnalités arrivent en tant que préversions technologiques, comme le Qt Wayland Compositor, très utile pour les applications automobiles de Qt. Ce module existait depuis quelques versions de Qt, son API a été retravaillée et stabilisée pour Qt 5.7, tant en C++ qu’en QML.
Un autre nouveau module est Qt SCXML, qui facilite l’utilisation de machines d’état au format SCXML dans Qt, en étant intégré dans le cadre actuel. Qt Gamepad facilite l’utilisation des manettes de jeu, toujours côté C++ et QML, sur bon nombre de plateformes : Windows, Linux côté bureau, mais aussi Android et iOS pour le mobile.
Source : Qt 5.7 released.
Télécharger Qt 5.7.