La société Qt a officiellement lancé Qt 6.12, sa dernière version à support à long terme de son framework de développement d'applications multiplateforme largement utilisé. Cette version marque une étape importante pour les développeurs d'entreprise, puisqu'elle offre une période de maintenance de cinq ans destinée à garantir la stabilité et la fiabilité des projets de logiciels propriétaires. La principale nouveauté de Qt 6.12 réside dans le renforcement de sa cybersécurité, qui met le framework en conformité avec la loi européenne sur la cyber-résilience. Côté développement, Qt Canvas Painter est passé du statut d'aperçu technique à celui de solution prête pour la production.Qt est un framework de développement d'applications multiplateforme permettant de créer des interfaces utilisateur graphiques ainsi que des applications multiplateformes fonctionnant sur diverses plateformes logicielles et matérielles telles que Linux, Windows, macOS, Android ou des systèmes embarqués, avec peu ou pas de modification du code source sous-jacent, tout en restant une application native dotée de capacités et d'une vitesse natives. Qt est actuellement développé par Qt Group, une société cotée en bourse, et par le Qt Project sous une gouvernance open source, impliquant des développeurs individuels et des organisations qui œuvrent à l'amélioration de Qt. Qt est disponible à la fois sous des licences commerciales et sous des licences open source GPL 2.0, GPL 3.0 et LGPL 3.0.
La société Qt a officiellement lancé Qt 6.12, sa dernière version à support à long terme (LTS) de son framework de développement d’applications multiplateforme largement utilisé. Cette version marque une étape importante pour les développeurs d’entreprise, puisqu’elle offre une période de maintenance de cinq ans destinée à garantir la stabilité et la fiabilité des projets de logiciels propriétaires. Qt 6.12 arrive deux ans après sa version précédente et s'inscrit dans la cadence bisannuelle des versions LTS de la société, ce qui permet aux organisations de planifier leurs mises à niveau de manière structurée tout en conservant des périodes de support qui se chevauchent entre les versions.
La principale nouveauté de Qt 6.12 réside dans le renforcement de sa cybersécurité, qui met le framework en conformité avec la loi européenne sur la cyber-résilience (CRA), une exigence réglementaire applicable aux produits propriétaires commercialisés sur les marchés de l’Union européenne. Au-delà de la mise en conformité réglementaire, ces améliorations en matière de sécurité profitent à tous les utilisateurs, quelle que soit leur situation géographique.
Côté développement, Qt Canvas Painter est passé du statut d’aperçu technique à celui de solution prête pour la production, offrant des capacités de dessin impératif accélérées qui améliorent les performances de rendu graphique. Un nouveau type QML Canvas2D simplifie l’intégration du canvas pour les développeurs travaillant avec le framework d’interface utilisateur déclaratif de Qt. De plus, Qt 6.12 fait désormais de HarmonyOS une plateforme LTS officiellement prise en charge, venant s’ajouter à l’écosystème bien établi de Qt regroupant les principaux systèmes d’exploitation et étendant la portée du framework à l’écosystème mobile et IoT de Huawei, en pleine expansion.
Pour les développeurs soucieux de l'efficacité de leur flux de travail, Qt 6.12 introduit une fonctionnalité de rechargement à chaud pour QML, qui rationalise le processus de développement en permettant de modifier le code en temps réel sans avoir à redémarrer les applications. Cette version met également l'accent sur une pile technologique globalement moins complexe, réduisant ainsi les dépendances et simplifiant la maintenance pour les équipes gérant des projets à grande échelle.
D'autres améliorations concernent les composants Qt Quick, la prise en charge de WebAssembly pour le déploiement dans les navigateurs, ainsi qu'une réduction globale de la consommation de ressources afin de proposer des applications plus légères et plus performantes. Les développeurs peuvent se procurer Qt 6.12 dès maintenant via le programme d'installation Qt, le site web de la société ou le tableau de bord de leur compte Qt.
Voici l'annonce par Qt de la sortie de sa version 6.12 LTS :
Qt 6.12 LTS est disponible !
La version 6.12 du framework Qt est désormais disponible. Elle offre une cybersécurité renforcée, des performances améliorées au niveau de l'interface utilisateur et une multitude de fonctionnalités à combiner à votre guise à tous les niveaux de votre architecture. En tant que version à support à long terme, Qt 6.12 n'est pas une simple mise à jour incrémentielle, mais l'aboutissement de divers efforts engagés il y a plusieurs années. Découvrez-la plus en détail.
Support à long terme avec 5 ans de maintenance
Qt 6.12 est une version à support à long terme (LTS). Les versions LTS de Qt sont avant tout conçues pour offrir stabilité et fiabilité pendant une période de maintenance de cinq ans. Particulièrement appréciées pour le développement de logiciels propriétaires, les versions LTS se chevauchent, ce qui vous permet de planifier et d'effectuer les mises à jour vers la version la plus récente de manière organisée. Une nouvelle version Qt LTS est publiée tous les deux ans ; la version 6.12 est actuellement la plus récente.
Des produits plus sécurisés que jamais
Pour ceux qui commercialisent des produits propriétaires sur le marché européen notamment, il est urgent de se mettre en conformité avec la nouvelle loi européenne sur la cyber-résilience (CRA). Cependant, les efforts réglementaires en matière de cybersécurité profitent également à ceux qui ne sont pas concernés par la CRA.
- La cybersécurité au-delà des réglementations
Au-delà des exigences réglementaires, diverses améliorations vous aident à développer des logiciels plus sécurisés. Qt 6.12 LTS est livré sans vulnérabilités exploitables connues et est sécurisé par défaut, grâce à des mises à jour de sécurité régulières, un nouveau processus de divulgation des vulnérabilités et des délais de réponse garantis (SLA) pour les clients commerciaux. Les éléments critiques pour la sécurité sont signalés dans les fichiers de code source de Qt et les informations relatives aux tests de sécurité effectués sont partagées en toute transparence.
De plus, nous nous engageons à garantir l’intégration des dernières bibliothèques tierces. À ce sujet, regardez également la vidéo de Maurice expliquant comment les dépendances augmentent la complexité de votre pile logicielle et pourquoi cela représente un risque plus important que vous ne le pensez. - Qt 6.12 est conforme à la CRA
La version commerciale Qt 6.12 LTS est désormais conforme à la loi européenne sur la cyber-résilience (CRA), ce qui vous permet de préparer votre produit et de le rendre conforme dans les délais. La première échéance de la CRA est passée le 11 septembre, et la dernière approche à grands pas. La réglementation impose de nombreuses exigences concernant les processus internes et les évaluations juridiques, ainsi que des aspects liés aux produits.
Qt 6.12 a été conçu pour répondre aux exigences fixées par l’ARC, dont nous savons aujourd’hui qu’elles entreront en vigueur en décembre 2027. Dans les prochaines versions de maintenance, nous continuerons à veiller à ce que la version 6.12 reste conforme à la réglementation tout au long de sa période de support de 5 ans. Cela vous permet non seulement de préparer votre produit à temps, mais vous offre également une base solide sur laquelle vous appuyer au fil des années.
Qt 6.12 est fourni avec la déclaration de conformité de la CRA, ce qui ne rend pas automatiquement votre produit conforme aux exigences de la CRA (vous devrez toujours effectuer vous-même les démarches requises par la CRA), mais vous offre de nombreux éléments prêts à l’emploi pour la partie de votre produit développée avec Qt. De plus, le framework Qt vous aide à répondre aux exigences techniques de la CRA, telles que l’authentification et la vérification sécurisées par défaut, la nomenclature logicielle (SBOM) et les logiciels sécurisés dès la conception.
Fonctionnalités complètes d’interface utilisateur
En ce qui concerne notre framework d’interface utilisateur, nous continuons à intégrer de nouvelles fonctionnalités pour créer des interfaces utilisateur modernes ; ces dernières années ont vu l’apparition de nouveaux contrôles Qt Quick tels que la « Safe Area », le menu contextuel, le champ de recherche, la double zone de sélection et un nouveau type de mise en page avec FlexBox. Nous avons également enrichi le module d’images vectorielles, qui prend désormais en charge davantage de propriétés et d’animations pour les fichiers SVG et Lottie. Du côté des nouveautés, examinons de plus près le nouveau moteur de dessin impératif accéléré et le nouveau type QML Canvas2D, très simple d’utilisation, ainsi que la manière dont il améliore également les performances des graphiques.
- Qt CanvasPainter sort de la phase TP : une nouvelle façon de dessiner avec des performances élevées
Nous avons reçu de nombreux retours positifs concernant Qt CanvasPainter après son lancement en début d’année en tant qu’aperçu technologique dans Qt 6.11. Une API de rendu impérative de type « painter » pour C++ et QML, qui utilise le GPU pour l’accélération matérielle et permet d’utiliser des shaders pour créer des effets visuels riches et hautement performants, faisait manifestement défaut dans Qt depuis longtemps ! Dans Qt 6.12, après un travail considérable d’optimisation, de perfectionnement de l’API et de comblement des lacunes fonctionnelles, nous sortons l’API principale du module de la phase d’aperçu technologique.
Elle est désormais prête pour une utilisation en production, tant pour les développeurs C++ que pour ceux de QML, et nous sommes impatients de découvrir ce que vous allez tous créer grâce à elle. L’ajout le plus significatif est l’introduction de l’élément Canvas2D. L’API Canvas2D s’inspire du Canvas HTML et facilite l’utilisation de JavaScript pour dessiner des formes qui sont ensuite rendues efficacement par Qt CanvasPainter, via l’interface matérielle de rendu de Qt (QRhi), sur le GPU. Canvas2D constitue une amélioration architecturale majeure et un remplacement moderne de l’élément Qt Quick Canvas. - Évolution des graphiques : flexibilité et hautes performances
Qt Graphs a également bénéficié de nombreuses améliorations. Pour répondre à une demande générale, nous avons ajouté un axe logarithmique aux fonctionnalités de Graphs2D, ainsi que davantage d’options de personnalisation pour les étiquettes d’axes. Les interactions avec l’utilisateur final ont été simplifiées grâce à des fonctions intégrées de zoom et de panoramique, et nous avons apporté plusieurs améliorations en termes de performances et de convivialité.
Pour les cas d’utilisation exigeant des performances élevées, notamment lors de la visualisation de grandes quantités de données évoluant rapidement, nous avons mis en place un moteur de rendu pour les graphiques 2D utilisant CanvasPainter, qui est pour l’instant activable lors de la configuration. Nous souhaitons nous assurer de sa fiabilité avant de le rendre par défaut ; nous attendons donc avec impatience vos retours d’expérience lorsque vous utiliserez ce moteur. - StyleKit est disponible dans Labs : essayez-le
Le nouveau module StyleKit résout plusieurs problèmes à la fois : la création d'un style cohérent pour une application hybride utilisant à la fois des widgets et Qt Quick ; de le faire de manière moderne, en s'appuyant sur un système de design et des outils conviviaux, qui correspondent parfaitement à la façon dont un tel système pourrait être défini dans des outils tels que Figma ; et d'assurer une séparation claire entre la structure des composants de l'interface utilisateur et les attributs stylisables, ce qui facilite la définition de thèmes sombres, clairs et à contraste élevé sans avoir à préciser à chaque fois qu'un bouton est un rectangle comportant une étiquette.
Qt StyleKit fournit une API de mise en forme basée sur QML qui vous permet de styliser à la fois les widgets et Qt Quick à partir d’une source unique configurant des paires propriété-valeur, telles que la géométrie et les couleurs. Grâce à la propagation des propriétés, la définition d'un style à l'aide de StyleKit permet d'éviter en grande partie les répétitions, tandis que l'utilisation des techniques QML éprouvées pour les animations de propriétés facilite la définition de transitions fluides entre les états des contrôles et des widgets. La prise en charge des thèmes, des variantes de contrôles et l'extensibilité pour les contrôles personnalisés font de StyleKit une solution puissante pour définir la conception d'une expérience utilisateur complexe, offrant un rendu optimal sur tous les appareils, toutes les configurations...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.