Avec la mouture 6.0 de l’environnement de développement d’applications et d’interfaces utilisateur graphiques pour produits informatiques, mobiles et embarqués Qt, The Qt Company estime lancer en cette fin d’année une version majeure qui se distingue par une architecture repensée « pour faciliter la productivité et préparer l’avenir ». ...Pour rappel, Qt 5.0 a été mis sur le marché il y a huit ans et, depuis, plusieurs évolutions significatives ont émergé dont les moindres ne sont pas l’explosion de l’utilisation de Qt dans les systèmes embarqués, la publication du langage C++17 et l’arrivée de nouvelles API graphiques 3D. Evolutions qui ont directement affecté l’environnement Qt.
Selon l’éditeur, Qt 6.0 vise donc à proposer une plate-forme unique pour la conception et le développement logiciel selon une nouvelle philosophie qui s’appuie sur trois principes. Le premier vise à résoudre le hiatus entre, d’un côté, des exigences logicielles en constante progression en raison de la croissance exponentielle de l’Internet des objets et, de l’autre, la stagnation du nombre de développeurs logiciels. Qt 6.0 se distingue ainsi par des outils et des API qui ont vocation à améliorer la productivité des équipes et réduire les coûts. A titre d’exemple, la nouvelle version s’appuie sur les outils de construction logicielle multiplate-forme CMake et est fournie avec un package par défaut beaucoup plus compact qu’auparavant, les add-on étant distribués en tant que modules séparés via un gestionnaire de packages.
Le deuxième principe qui a présidé à la mise au point de Qt 6.0 porte sur le passage à un niveau supérieur pour les expériences utilisateur. L’éditeur a ainsi mis en œuvre une nouvelle architecture graphique et apporté des améliorations au langage de programmation pour des logiciels plus puissants, plus flexibles et plus légers. Ainsi alors que Qt 5 s’appuyait sur OpenGL pour les graphiques accélérés par le silicium, Qt 6.0 définit une couche d’abstraction pour les graphiques 3D du nom de RHI (Rendering Hardware Interface) qui permet d’utiliser les API graphiques 3D natives de la plate-forme sous-jacente. (Qt Quick utilisera désormais Direct3D sur les plates-formes Windows et Metal sur MacOS par défaut.) Les outils intégrés à Qt ont par ailleurs été unifiés pour être plus simples à utiliser à la fois par les développeurs et les designers d’interfaces utilisateur, en vue d’améliorer la collaboration entre ces équipes lors de la création d’applications 2D et 3D.
Enfin The Qt Company a mis l’accent sur l’échelonnabilité, troisième pilier de sa stratégie. A ce titre, assure l’édteur, avec Qt 6.0, le même code peut être utilisé sur n’importe quelle plate-forme matérielle, quelle que soit sa puissance, du microcontrôleur au supercalculateur, et ce sur n’importe quel système d’exploitation, y compris les structures bare-metal (sans OS). Dès lors, même les futures architectures seront prises en charge sans difficulté par Qt 6.0, assure la société nordique. Changer de plate-forme matérielle en milieu de projet pourrait alors devenir une véritable opportunité plutôt qu’un cauchemar…
A noter que, côté embarqué, Qt 6.0 prend en charge dès aujourd’hui les systèmes sous Linux. Les systèmes d’exploitation QNX et Integrity qui s’accommodent depuis peu du langage C++17 seront pris en charge d’ici à la publication de Qt 6.2, une version LTS (Long Term Support) dont la disponibilité est prévue d’ici à la fin septembre 2021. On rappellera qu’il y a un an The Qt Company a lancé Qt for MCU, un environnement calibré pour les utilisateurs de microcontrôleurs aujourd’hui accessible dans sa version 1.6 (avec notamment la prise en charge des outils de construction IAR Build Tools for Arm d'IAR Systems, lire notre article ici).