Première version bêta de Qt 6

Qt Company a publié la première version bêta de la nouvelle branche Qt 6, qui proposera des changements architecturaux significatifs, et nécessitera un compilateur qui prend en charge la norme C++17 pour sa construction. Cette version comprend uniquement le cadre initial de la future version de Qt 6, qui est prévue sera disponible au 1er décembre 2020. Les fonctionnalités dans la branche Qt 6 seront étendues jusqu'à l'annonce du gel de la base de code le 31 août.

La première version de test comprend les modules :
Qt Core,
Qt GUI,
Qt Widgets,
Qt Network,
Qt QML,
Qt Quick,
Qt Quick Controls,
Qt SVG,
Qt Network Authorization,
Qt SQL et
Qt Test.

Améliorations clés caractéristiques Qt 6 :

  • Une API graphique abstraite, indépendante de l'API 3D du système d'exploitation. Le composant clé du nouveau stack graphique Qt est le moteur de rendu de scènes qui utilise une couche RHI (Rendering Hardware Interface) pour garantir le fonctionnement des applications Qt Quick non seulement avec OpenGL, mais aussi au-dessus des API Vulkan, Metal et Direct 3D.
  • Le module Qt Quick 3D avec API pour créer des interfaces utilisateur basées sur Qt Quick, combinant des éléments de graphismes 2D et 3D. Qt Quick 3D permet d'utiliser QML pour définir des éléments 3D des interfaces sans avoir recours au format UIP. Dans Qt Quick 3D, un seul runtime (Qt Quick), une seule mise en page de scène et un seul cadre d'animation peuvent être utilisés pour 2D et 3D, et Qt Design Studio peut être utilisé pour le développement visuel de l'interface. Ce module résout des problèmes tels que les coûts élevés d'intégration de QML avec du contenu de Qt 3D ou de 3D Studio, et fournit la possibilité de synchroniser l'animation et les transformations au niveau des images individuelles entre 2D et 3D.
  • Restructuration de la base de code en la décomposant en parties plus petites et en réduisant la taille du produit de base. Les outils pour les développeurs et les composants spécialisés seront fournis sous forme d'extensions, distribuées via une boutique en ligne. Qt Marketplace.
  • Mise à jour significative de QML :
    • Support de la typage strict.
    • Possibilité de compiler QML en représentation C++ et en code machine.
    • Passage du support complet de JavaScript au statut d'option (l'utilisation d'un moteur JavaScript complet nécessite beaucoup de ressources, ce qui entrave l'utilisation de QML sur des matériels tels que des microcontrôleurs).
    • Abandon de la versionnage dans QML.
    • Unification des structures de données se répétant dans QObject et QML (réduit la consommation de mémoire et accélère le démarrage).
    • Élimination de la génération de structures de données à l'exécution au profit de la génération à la compilation.
    • Masquer les composants internes grâce à l'utilisation de méthodes et de propriétés privées.
    • Intégration améliorée avec les outils de développement pour le refactoring et le diagnostic des erreurs lors de la compilation.
  • Ajout d'outils pour le traitement des ressources graphiques lors 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 matériels spécifiques.
  • Intégration d'un moteur unifié pour les thèmes et styles, permettant d'obtenir un aspect d'application basé sur Qt Widgets et Qt Quick, natif pour diverses plateformes mobiles et de bureau.
  • En tant que système de build, il a été décidé d'utiliser CMake au lieu de QMake. Le soutien pour la compilation d'applications avec QMake sera maintenu, mais Qt lui-même sera construit en utilisant CMake. CMake a été choisi, car cet outil a été largement adopté parmi les développeurs de projets C++ et est pris en charge par de nombreux environnements de développement intégrés. Développement d'un système de build Qbs, qui prétendait remplacer QMake, poursuivie par la communauté.
  • Passage à la norme C++17 lors du développement (précédemment C++98). Qt 6 prévoit de prendre en charge de nombreuses fonctionnalités modernes de C++, tout en préservant la compatibilité avec le code basé sur des normes antérieures.
  • Possibilité d'utiliser dans le code C++ certaines fonctionnalités proposées pour QML et Qt Quick. Une nouvelle système de propriétés pour QObject et des classes similaires sera présentée. Un moteur pour le travail avec des liaisons (binding) sera intégré dans le noyau de Qt depuis QML, ce qui permettra de réduire la charge et la consommation mémoire pour les liaisons et de les rendre accessibles à toutes les parties de Qt, et pas seulement à Qt Quick.
  • Extension du support pour des langages supplémentaires, tels que Python et WebAssembly.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster