Une vision technique pour Qt 6

Par:
fredericmazue

ven, 30/08/2019 - 14:20

Qt 5 est sortie il y a 7 ans et l'équipe de développement est en pleine réflexion sur ce que devrait être Qt 6. Lars Knoll, un des membres de l'équipe fait part de ses réflexions sur Qt 6 dans ce très intéressant billet. Une réflexion qui tient bien sûr compte d'une des qualités majeures de Qt : le multi plates-formes, et qui tient bien sûr compte de la forte évolution des terminaux et autres appareils connectés.

"Qt 6 sera une nouvelle version majeure pour Qt. L'objectif principal de cette nouvelle version majeure est de préparer Qt aux exigences de 2020 et au-delà, de nettoyer notre base de code et de la rendre plus facile à gérer. En tant que tel, l’accent sera mis sur les éléments qui nécessitent des modifications d’architecture dans Qt et qui ne peuvent pas être effectués sans rompre un certain niveau de compatibilité avec Qt 5.x" écrit-il.

Lars Knoll fait plusieurs propositions techniques, comme l'introduction du typage fort dans QML, faire de JavaScript une fonctionnalité facultative de QML, ou éviter les structures de données générées à l'exécution.

En ce qui concerne les graphiques, il fait que le constat que l'API OpenGL n'est plus suffisante :

"Avec Qt 5, nous avons utilisé OpenGL comme API unifiée pour les graphiques 3D. Depuis lors, de nombreuses nouvelles API ont été définies. Vulkan est le successeur désigné d'OpenGL sur Linux, Apple fait pression pour Metal et Microsoft propose Direct 3D. Cela signifie que Qt devra à l'avenir fonctionner de manière transparente avec toutes ces API". 

Il remarque encore le besoin d'un outillage unifié, amélioré et cohérent : "Notre outil graphique pour créer des interfaces utilisateur a été divisé en deux avec Qt 3D Studio et Qt Design Studio. De plus, Qt 3D Studio est légèrement déconnecté du reste de Qt, ce qui entraîne de nombreux efforts en double. Nous allons les unifier en fusionnant les fonctionnalités requises de Qt 3D Studio dans Design Studio [...] Les outils de développement ont besoin de beaucoup d’attention et de concentration pour pouvoir offrir le meilleur support pour C ++, QML et Python."

Lars Knoll préconise encore, parmi d'autres propositions, l'amélioration des API C++ et l'abandon de QMake comme système de compilation, au profit de CMake.

Un billet très intéressant, à lire par tous ceux qui travaillent avec Qt. Il est possible de faire des commentaires à ce billet.