Avec la sortie récente de Qt 5.12, Tuukka Turunen, vice-président en charge de la "recherche et développement" à la Qt Company, nous propose, comme chaque année depuis 2016, une vue d'ensemble sur les développements à venir pour le framework. En quelques mots : du Python, des outils (tant pour développeurs que graphistes).
Côté Qt
Tout d'abord, Qt 5.12 poursuivra son cycle de développement, avec des correctifs et des améliorations de performance, en tant que troisième version de Qt 5 avec un support à long terme (par rapport aux deux versions précédentes, Qt 5.6.3 et Qt 5.9.7, on compte d'ailleurs respectivement cinq mille et deux mille tels correctifs). Qt Quick et Qt 3D seront au centre des attentions, notamment.
Qt 5.12 a notamment apporté une couche de liaison avec Python officielle (contrairement à PyQt, un équivalent historique). Ce module n'est pas concerné par le support à long terme de Qt 5.12, car son développement n'est pas encore assez mature le projet renaît des cendres de PySide. En plus de la fiabilisation du code, il devrait être plus facile de s'intégrer avec les bibliothèques courantes en Python (en C++, Qt doit proposer énormément de fonctionnalités, la bibliothèque standard étant pauvre en comparaison et les autres bibliothèques nettement moins standardisées qu'en Python). 2019 devrait au moins voir une intégration avec numpy (pour le calcul scientifique, notamment une implémentation puissante des matrices), d'autres pourraient suivre. Le déploiement est toujours un point délicat, il sera amélioré. Qt Creator sera aussi adapté pour mieux travailler en Python (il pourrait proposer la possibilité d'écrire des e xtensions en Python).
Qt s'ouvrira aussi vers le Web avec Web Assembly : depuis Qt 5.13, il est possible de compiler une application Qt en un module Web Assembly pour la lancer dans un navigateur (la possibilité est plus ancienne, mais n'est considérée comme finalisée qu'avec Qt 5.13). Cependant, actuellement, le développement n'est possible que depuis Linux et macOS — Windows viendra s'ajouter à la liste. Côté fonctionnalités, il sera possible d'accéder au système de fichiers local (dans les limites des bacs à sable implémentés par les navigateurs), au multifil (quand cela est disponible) et au presse-papier. Pour faciliter le développement, on devrait bientôt voir le débogage et des temps de compilation réduits.
Pour les animations, Qt 5.13 a apporté un nouveau module, Qt Lottie, qui peut lire des animations Bodymovin réalisées dans Adobe After Effects. Qt Lottie permet d'inclure facilement ces animations dans des applications Qt Quick, mais aussi de les contrôler (démarrer, mettre en pause, etc.). Le module a été conçu pour la performance, de telle sorte qu'il soit utilisable sur les plateformes embarquées. Il devrait sortir de préversion technologique cette année.
Outils pour développeurs
Les dernières versions de Qt Creator ont retravaillé fortement les entrailles du moteur C++, pour utiliser Clang. Les bénéfices arrivent, avec une intégration avec Clang Tidy et Clazy. D'autres outils de diagnostic et d'analyse de la performance arriveront en 2019. L'EDI en lui-même devrait voir sa performance améliorée, avec l'utilisation d'une base de données de symboles pour le projet chargé, au lieu de devoir analyser les fichiers un à un au fur et à mesure de l'écriture du code.
Comme CMake semble être l'outil de compilation de choix pour Qt 6, Qt Creator doit se mettre au niveau : il est possible de travailler avec des projets CMake, mais cela n'est pas toujours aussi facile qu'avec le format ancestral de projet utilisé par Qt (les fameux fichiers .pro). Il sera ainsi plus facile de créer un projet CMake, notamment.
Qt Quick Designer, l'éditeur visuel pour Qt Quick intégré à Qt Creator, bénéficiera de certaines fonctionnalités développées pour Qt Design Studio (ce dernier étant développé sur la même base que Qt Creator). On devrait ainsi bientôt voir la ligne du temps de Qt Design Studio arriver dans Qt Quick Designer.
Outils pour graphistes
Un des gros chantiers de 2019 concernant les outils à destination des graphistes sera d'unifier les outils de conception 2D et 3D, de ne plus proposer qu'une seule application (avec des capacités spécifiques pour les interfaces en 2D et en 3D). Rapidement, on devrait voir des composants partagés, une meilleure interopérabilité et des outils d'installation unifiés. Le moteur d'exécution de Qt 3D Studio sera aussi amélioré.
Qt Design Studio devrait voir de nouveaux outils de dessin, un nouvel éditeur de courbe de transition, ainsi qu'un éditeur de propriétés — trois éléments qui devraient aussi se retrouver dans Qt 3D Studio. Il sera plus facile de travailler avec plusieurs moniteurs, avec par exemple des panneaux flottants. Une version libre devrait aussi voir le jour.
Qt 3D Studio aura droit à de bonnes améliorations de performance, avec ses versions 2.3 en mars et 2.4 en juin. Les nouveaux moteurs de rendu et système d'animation ont permis de diminuer l'utilisation du processeur, d'accélérer le chargement du contenu 3D et de diminuer la consommation de mémoire. L'objectif de 2019 est d'avoir des applications 3D complexes en temps réel qui tournent sur du matériel pas forcément haut de gamme (mais pas incapable non plus).
Au niveau fonctionnalités, Qt 3D Studio devrait disposer d'un rendu stéréoscopique (pour afficher un contenu en "vraie" 3D, avec des lunettes adaptées par exemple, mais aussi dans le contexte de la réalité augmentée et/ou virtuelle), d'un rendu du texte complètement retravaillé, des vertex shaders écrits à la main et précompilés.
Source : Qt Roadmap for 2019.
Qt en 2019 : une meilleure intégration avec Python et Web Assembly
Des outils d'édition graphiques unifiés pour la 2D et la 3D
Qt en 2019 : une meilleure intégration avec Python et Web Assembly
Des outils d'édition graphiques unifiés pour la 2D et la 3D
Le , par dourouc05
Une erreur dans cette actualité ? Signalez-nous-la !