Plan de développement de fonctionnalités publié pour la version Qt 6

qt-logo.png

Lars Knoll, créateur de moteur KHTML, chef de projet Qt et directeur technique de Qt Companet, il a parlé des plans pour créer la prochaine branche importante du framework Qt. Une fois la formation de la fonctionnalité de la branche Qt 5.14 terminée, le développement se concentrera sur la préparation de la version Qt 6, qui est attendue d'ici la fin de 2020.

Qt 6 va évoluer afin d'assurer la compatibilité avec Qt 5, Mais il n'est pas exclu que des problèmes individuels puissent survenir, car les modifications architecturales et le nettoyage prévus ne seront pas possibles sans perdre un certain niveau de compatibilité. Pour faciliter la transition, certaines fonctionnalités de Qt 6 sont prévues pour être incluses sous forme abrégée dans les versions Qt 5.14 et Qt 5.15 C'EST. Une boîte à outils sera également préparée pour faciliter la migration vers Qt 6.

L'un des principaux objectifs de la prochaine grande branche est d'aligner les fonctionnalités sur les exigences de 2020, de nettoyer la base de code et de simplifier la maintenance du projet.

Ce sont les changements attendus

Parmi les principaux changements prévus pour Qt 6, il y a la possibilité de compiler QML en une représentation C ++ et un code machine.

Ainsi que le transfert de support complet pour JavaScript à la catégorie des options (l'utilisation d'un moteur JavaScript complet est gourmande en ressources, ce qui empêche l'utilisation de QML sur des équipements tels que des microcontrôleurs).

Il est prévu d'ajouter une nouvelle couche abstraite, Interface matérielle de rendu (RHI), pour garantir une utilisation fluide des différentes API graphiques, y compris OpenGL, Vulkan, Metal et Direct 3D (auparavant, Qt était uniquement lié à OpenGL).

Toute l'infrastructure de rendu existante, y compris QPainter, Qt Quick Scenegraph et Qt3D, sera convertie en RHI. Il est également prévu d'ajouter le module Qt Shader Tools pour prendre en charge divers langages de développement de shaders et fournir une compilation croisée des shaders à la fois au stade de l'assemblage et pendant l'exécution du programme.

Unification des outils pour créer une interface utilisateur

Pour éviter la duplication des fonctionnalités et arrêter de fournir deux produits distincts, La fonctionnalité Qt 3D Studio devrait être intégrée dans Qt Design Studio, dont beaucoup les sous-systèmes et le cadre de connexion des plugins sont construits sur une base de code unique avec Qt Creator.

Qt Design Studio prévoit également de fournir une intégration de qualité avec des packages de création de contenu tels que Photoshop, Sketch, Illustrator, Maya et 3D Max. Les principaux langages pris en charge dans une boîte à outils de développement unifié sont C ++, QML et Python.

Il est prévu de préparer une API unifiée pour créer des interfaces utilisateur qui combinent des éléments graphiques 2D et 3D. La nouvelle API permettra à QML d'être utilisé pour définir des éléments d'interface 3D sans utiliser le format UIP.

Dans la nouvelle interface d'intégration de contenu 3D avec Qt Quick, ils prévoient de résoudre des problèmes tels que la surcharge lors de l'intégration de QML avec du contenu de Qt 3D ou 3D Studio, et l'incapacité de synchroniser les transformations et les animations individuelles au niveau de l'image entre 2D et 3D.

Le rendu conjoint 2D et 3D sera implémenté à l'aide du nouveau moteur de rendu. Une implémentation préliminaire du nouveau Qt Quick avec support 3D est attendue dans Qt 5.14.

Ajouter des outils pour traiter les ressources liées aux graphiques au stade de la compilation, par exemple, pour convertir des images PNG en textures compressées ou pour convertir des shaders et des maillages en formats binaires optimisés pour des ordinateurs spécifiques.

L'unification implique également la possibilité d'accéder à Qt Creator pour interagir avec les outils de conception et fournir aux concepteurs d'interfaces des opportunités d'outils de développement.

Parmi les autres changements qui se démarquent sont:

  • Refus de version dans QML et unification des structures de données qui sont dupliquées dans QObject et QML (réduira la consommation de mémoire et accélérera le démarrage).
  • Évitez la génération de structures de données au moment de l'exécution en faveur de la génération au moment de la compilation.
  • Masquez les composants internes à l'aide de propriétés et de méthodes privées.
  • Intégration améliorée avec les outils de développement pour refactoriser et diagnostiquer les erreurs lors de la compilation.

source: https://blog.qt.io/


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Xavier dit

    QT devrait utiliser son poids pour forcer un système audio unique pour les ordinateurs de bureau Linux exécutant QT. Comme Google le fait sur Android, toutes les applications doivent utiliser l'infrastructure audio Android.
    Et j'espère que cette version apporte des fonctionnalités attrayantes et de plus en plus de facilité de développement et d'interopérabilité. Nous avons besoin de QT pour renverser GTK une fois pour toutes les projets importants pour aller à QT. GTK n'est pas seulement arriéré et ancien (s'il rattrapait QT, il n'y aurait aucun problème avec la disparition de QT) mais l'existence des deux plates-formes est l'une des causes de confusion, de fragmentation et de duplication des efforts de développement et des ressources dans le GNU. / Écosystème Linux.