Qt 5.6 sera une version charnière dans l’histoire de Qt, mais pas vraiment au niveau des fonctionnalités : un support à long terme est prévu pour les trois prochaines années, tout comme ce fut le cas pour Qt 4.8.
Nouvelles fonctionnalités par rapport à Qt 5.5
La première préversion a apporté pas mal de nouveautés, notamment pour Qt 3D et diverses préversions technologiques (les nouveaux Qt Quick Controls, l’accès aux bus série par Qt SerialBus, la reconnaissance vocale et la synthèse vocale avec Qt Speech, la compatibilité avec le compositeur Wayland par Qt Wayland), ainsi que des améliorations de performance.
Cette nouvelle préversion, Qt 5.6 Beta, apporte une meilleure gestion des écrans à haute résolution sur toutes les plateformes, avec un ajustement automatique des tailles de police et des autres éléments d’interface, y compris quand l’utilisateur déplace une fenêtre sur un autre écran avec une densité de pixels différente.
La compatibilité avec Windows 10 est maintenant parachevée, tant pour les applications traditionnelles que WinRT, ces dernières pouvant être distribuées sur le Windows Store — grâce à Qt, la migration se fait en un coup de compilation. Visual C++ 2015 fait maintenant partie de la liste des compilateurs compatibles ; par contre, l’extension pour Visual Studio n’est pas compatible avec la version 2015.
Support à long terme
Le point le plus important de cette version est cependant son support à long terme (LTS), disponible pendant trois ans. La précédente version dans ce cas était Qt 4.8, sortie début 2013, dont le support s’achève ce mois-ci — Qt 5.6 devrait être disponible au premier trimestre 2016, ce qui laissera quelques semaines sans version à support à long terme. Après trois ans, comme pour Qt 4.8, il faudra souscrire un contrat d’extension de support auprès de Digia.
Ce « support à long terme » signifie que Qt 5.6 aura droit à des correctifs, tant pour la sécurité que pour la correction de défauts ou la compatibilité avec de nouveaux systèmes d’exploitation et des compilateurs plus récents autant que possible ; en d’autres termes, Qt 5.6 aura droit à une série de versions de patch, au lieu d’une à deux pour les autres versions mineures de Qt 5. Sur le côté, Qt continuera bien évidemment à évoluer, avec de nouvelles fonctionnalités dans les versions mineures ultérieures (Qt 5.7 et suivantes), mais elles ne seront pas réintégrées dans Qt 5.6, afin de garantir qu’une application utilisant Qt 5.6 continue à fonctionner après une mise à jour de Qt, sans grand risque.
Objectif : faciliter le développement ultérieur
Globalement, ce support à long terme permettra de simplifier le code pour Qt 5.7, après une phase de développements pour mettre les différentes plateformes sur un pied d’égalité au niveau des fonctionnalités offertes pour Qt 5.5 et 5.6. Ces simplifications pour Qt 5.7 se feront parfois au détriment de fonctionnalités et de couches de compatibilité dépassées.
Les modules désapprouvés ne font pas partie de cette offre de support à long terme, ils devraient être rapidement supprimés. Cette liste contient Qt Script et Qt Enginio — sachant que Qt WebKit et Qt Declarative ne sont plus livrés dès cette version, remplacés respectivement par Qt WebEngine et Qt Quick 2, par suite de la décision de les désapprouver pour Qt 5.5.
De même, les préversions technologiques ne sont pas incluses, aucune garantie n’est fournie à leur égard : Qt 3D n’a toujours pas atteint un niveau de finition suffisan, à l’instar de Qt Quick Controls 2.0, de Qt Speech, de Qt SerialBus ou de Qt Wayland. Pour les compilateurs, Qt 5.6 sera la dernière version à maintenir la compatibilité avec C++98 et de vieux compilateurs, comme Visual C++ 2008 et 2010 ou encore GCC 4.6.
Sources : Qt 5.6 Beta Released, Introducing Long Term Support.