Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Sortie de Qt 5.8


Sujet :

Qt

  1. #1
    Responsable Qt & Livres

    Sortie de Qt 5.8
    Qt 5.8 s'annonce déjà, avec bon nombre de nouveautés pour Qt Quick,
    comme un graphe de scène avec rendu purement logiciel

    Le développement de fonctionnalités pour Qt 5.8 est à peu près terminé : il devait être achevé pour ce lundi 15 août (à cause de problèmes de test des changements dans le code source existant, la date a été repoussée au 22 août, en évitant tout ce qui n’est pas correction de défaut). Ainsi, il est d’ores et déjà possible de dresser le portrait (incomplet) de cette version à venir.

    Le plus gros changement concerne Qt Quick : le graphe de scène OpenGL a été refactorisé pour éliminer la dépendance envers OpenGL. L’objectif est de passer facilement à d’autres API pour l’affichage, comme Vulkan ou DirectX 12 : d’ailleurs, cette version 5.8 pourra utiliser directement Direct3D 12 sous Windows (même si le code est expérimental). Il reste cependant à voir à quel point l’implémentation d’autres API pourra les exploiter à leur plein potentiel et ainsi donner des avantages par rapport à l’implémentation OpenGL existante. À l’origine, ce changement était nécessaire pour intégrer le code du module Qt Quick 2D Rendere (autrefois exclusivement propriétaire).

    Toujours niveau Qt Quick, des caches ont fait leur apparition pour diminuer les temps de chargement et la consommation de mémoire des applications : le code compilé et les structures de données sous-jacentes aux fichiers QML et JS. Le module Qt Quick Controls 2 propose de nouveaux types (Dialog, DialogButtonBox, ButtonSeparator et MenuSeparator), ainsi que de nouveaux effets pour les styles Material et Universal et un thème System. D’autres types pour mieux s’intégrer avec le système font leur apparition, en étant toutefois expérimentaux : MenuBar, Menu, SystemTrayIcon, ColorDialog, FontDialog, MessageDialog, FileDialog et FolderDialog.

    Côté sécurité sur les réseaux, les protocoles TLS PSK (qui se basent sur un échange au préalable de clés symétriques partagées) ont été implémentés dans le module Qt Network (côté serveur) et dans Qt Web Sockets (tant pour le client que le serveur). De même, HTTP 2 est maintenant implémenté.

    Dans les derniers arrivés, Qt 3D se focalise sur la maturation (correction de défauts, amélioration de la performance, augmentation de la suite de tests). Qt Charts propose aussi une fonctionnalité de graphiques en chandeliers japonais, principalement utiles dans la finance. Comme prévu, trois nouveaux modules font leur apparition (Qt Wayland Compositor, Qt SCXML et Qt Serial Bus), Qt Gamepad n’est toujours pas finalisé.

    Sources : New Features in Qt 5.8, [Development] [Releasing] HEADS-UP: Branching from ‘dev’ to ‘5.8’ ongoing, Qt 5.8 Feature Freeze coming…, [Development] HEADS-UP: Branching from ‘dev’ to ‘5.8’ ongoing, Qt 5.8 Feature Freeze coming….
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions), HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  2. #2
    Responsable Qt & Livres

    Sortie de Qt 5.8 Alpha
    Qt 5.8 Alpha est maintenant sorti. Cette version mineure apporte pas mal de nouveautés, mais les principales se situent sous le capot et n’auront pas vraiment d’impact pour le programmeur.

    Celle qui a fait couler probablement le plus d’encre est une refactorisation à grande échelle du moteur de rendu de Qt Quick : la dépendance envers OpenGL a été fortement limitée, l’architecture globale du rendu est maintenant totalement agnostique en ce qui concerne l’API utilisée. Ces changements ont permis l’intégration du moteur de rendu purement logiciel qui était fourni avec les éditions commerciales de Qt, mais aussi la création d’une extension (expérimentale) qui utilise DirectX 12 pour le rendu. Rien n’est actuellement prévu pour Vulkan, les développeurs estimant que les gains en performance ne justifieront pas ce développement.

    Le moteur d’exécution QML (le langage prévu pour Qt Quick) a également été fortement amélioré, en ce qu’il met maintenant en cache une forme binaire précompilée des fichiers QML chargés. Ainsi, le démarrage des applications QML est bien plus rapide que précédemment (sans chercher à se passer de QML et d’écrire ses applications Qt Quick uniquement en C++). Ces changements n’impliquent pas la possibilité de précompiler une application Qt Quick (qui reste l’apanage de l’édition commerciale).

    Dans le monde de l’embarqué, l’espace est une denrée rare, tant pour le stockage qu’en mémoire vive… et Qt en occupe vite une belle quantité. Dans le cadre du projet Qt Lite, l’infrastructure de configuration de Qt a été retravaillée pour sélectionner les fonctionnalités nécessaires à l’intérieur de chaque module. Le travail est toujours en cours, mais continuera d’ici à la préversion Beta. Jusqu’à présent, il est possible de diminuer la taille d’une application Qt Quick (liée statiquement à Qt) de septante pour cent par rapport à Qt 5.6 — ce qui est un gain appréciable.

    Certains modules quittent le statut de préversion technologique et sont maintenant pleinement supporté par le Qt Project (notamment, les évolutions de leur API ne pourront pas casser la compatibilité avec les prochaines versions de Qt 5). Ainsi, Qt Wayland Compositor, Qt SCXML et Qt Serial Bus sont ouverts au plus grand nombre, sans arrière-pensée. De nouveaux modules font aussi leur apparition comme préversions technologiques : Qt Speech pour la reconnaissance et la synthèse vocales, Qt Network Authentication pour l’authentification (notamment avec le protocole OAuth, versions 1 et 2).

    Qt 5.8 Beta devrait arriver dans un mois, début octobre, avant une version finale fin novembre. Si tout se passe bien, évidemment.

    Télécharger Qt 5.8 Alpha.
    Source : Qt 5.8 Alpha released.

    Et vous ?

    Que pensez-vous de cette nouvelle version de Qt ?

    Voir aussi

    le forum Qt
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions), HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Responsable Qt & Livres

    Un mois après la préversion Alpha, Qt 5.8 gagne en maturité avec sa première Beta. Les principales nouveautés par rapport à Qt 5.7 sont un nouveau système de configuration (laissant plus de flexibilité quant aux fonctionnalités à inclure — ce qui est plus fin que les modules —, chose très appréciée dans l’embarqué, où les ressources sont rares), un moteur de rendu logiciel pour Qt Quick (précédemment payant), un cache QML pour accélérer le chargement des applications (qui n’était pas présent pour la préversion Alpha) et d’autres choses encore.

    Télécharger Qt 5.8 Beta.
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions), HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  4. #4
    Responsable Qt & Livres

    Le développement de Qt 5.8 continue son petit bonhomme de chemin : deux mois après la Beta, voici la RC, qui corrige bon nombre de défauts par rapport à la Beta. La version finale est prévue pour janvier 2017.

    Télécharger Qt 5.8 RC.


    Source : Qt 5.8.0 Release Candidate Available.
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions), HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  5. #5
    Responsable Qt & Livres

    Ce message n'a pas pu être affiché car il comporte des erreurs.
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions), HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  6. #6
    Expert éminent sénior
    Citation Envoyé par dourouc05 Voir le message
    Peu d’utilisateurs en profiteront, mais ceux-là verront leur vie largement simplifiée. Le système de configuration de Qt est utilisé lorsque l’on compile Qt depuis les sources. Il permet de définir bon nombre d’options, pour choisir les modules à compiler, les bibliothèques à intégrer, etc., mais a subi une évolution chaotique
    C'est destiné à être utilisé par les développeurs embarqués en particulier. Qt Lite (non dispo en GPL, uniquement en commercial) fournit un configurateur graphique qui permet à coups de clics de choisir les modules que l'on veut, et il ne s'agit pas juste de QtCore, Widgets ou Network, mais de 150 fonctionnalités, donc un granularité beaucoup plus fine au niveau du code compilé. Et c'est ce qui permet de réduire la taille finale des binaires par 5. Pour cela ils ont enrichi qmake pour supporter un système maison de définitions de modules en json. Cela a été l'occasion de remettre à plat la configuration de Qt qui se faisait via des scripts sous Unix et un exécutable dédié (configure.exe) sous Windows, donc double maintenance. Du coup je me demande si Qbs a un avenir (déjà qu'il a du mal à percer)...

    Avec cette nouvelle version, Qt cible clairement l'embarqué (IoT) en supportant officiellement comme hardware minimal un ARMv7 300MHz avec 16 / 32 Mo de ROM / RAM. Et surtout, plus besoin de GPU (OpenGL) pour faire tourner QML. Et ils pensent pouvoir réduire encore les besoins dans le futur. C'est une très bonne nouvelle ! Par contre faut payer

  7. #7
    Rédacteur/Modérateur



    Merci Aurelien pour cette précision que, sauf erreur de ma part, je n'ai vu nul part... Je pouvais toujours le chercher ce Qt Lite
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  8. #8
    Expert éminent sénior
    Ah oui j'ai oublié de préciser que j'ai eu ces infos dans un webinar dédié au sujet. Il y a d'ailleurs une nouvelle session le 2 février:
    https://www.qt.io/event/encore-qt-lite-overview/


###raw>template_hook.ano_emploi###