Sortie de Qt 5.12 Beta 1
Avec des améliorations de performance pour Qt Quick et Qt 3D, ainsi qu'une gestion plus générique des entrées

Le , par dourouc05, Responsable Qt & Livres
La préparation de Qt 5.12 se passe comme prévu, avec une préversion Beta. Cette version aura un support technique à long terme (trois ans) et bénéficiera donc de mises à jour correctives régulières pendant cette période (tout comme Qt 5.9 pour l'instant).

Cette version apporte bon nombre d'améliorations de performance, y compris de réduction d'utilisation de la mémoire — un travail continu avec Qt. Qt 5.12 a été l'occasion d'optimiser plus particulièrement Qt 3D et Qt Quick pour l'utilisation sur des périphériques embarqués. Notamment, Qt 5.12 facilite l'utilisation de données précalculées, dans la suite de Qt 5.10 et Qt 5.11 : par exemple, on peut maintenant générer à l'avance le cache des polices, ce qui accélère le démarrage des applications utilisant des polices complexes et/ou pour un alphabet non latin.

Au niveau des fonctionnalités, Qt Quick reçoit un composant TableView en natif. Il est disponible en standard, au niveau du module de base de Qt Quick (donc pas dans une extension comme les Qt Quick Controls 2), et s'utilise de la même manière que ListView, mais avec la notion de colonne. Ce composant est véritablement prévu pour atteindre une excellente performance, y compris pour des tableaux de grande taille.

La gestion de la souris, des écrans tactiles et des mouvements a été complètement revue pour Qt Quick. Les développeurs de Qt travaillaient sur le module Qt Quick Pointer Handlers, il faudra maintenant parler de Input Handlers, un nom plus générique. L'apport principal est la versatilité du nouveau module, surtout dans le cas des applications déployées sur plusieurs écrans ou des écrans tactiles multipoints. Pour Qt 5.12, seule une API Qt Quick est disponible pour reconnaître et gérer la plupart des scénarios : les mouvements presser-tenir-relâcher, glisser-déposer, pincer, balayer, avec la souris ou le doigt, en parallèle sur plusieurs items dans la même scène (possiblement sur plusieurs écrans). L'API C++ existe, mais elle est privée pour le moment.

Qt pour Python fait sa grande entrée comme version finalisée (plus comme préversion technologique, contrairement à Qt 5.11). Ce paquet Python peut être installé depuis PyPI, le gestionnaire de paquets habituel de Python (contrairement aux préversions précédentes).

D'autres extensions sont désormais pleinement gérées : Qt Remote Objects pour la communication entre processus et Qt WebGL Streaming pour l'affichage d'une interface Qt Quick à travers le réseau et un navigateur. Qt for WebAssembly n'est cependant toujours pas prêt pour le grand jour.
Au niveau des outils, Qt

Design Studio 1.0
sera bientôt disponible et sera mis à jour pour Qt 5.12 dès que la version finale sera disponible. Qt Creator 4.8 devrait sortir le même jour que Qt 5.12, avec des fonctionnalités comme plus de langages de programmation gérés et la possibilité d'ouvrir plusieurs sessions de débogage en même temps. En décembre, Qt 3D Studio 2.2 devrait être disponible.

D'ici à la version finale, plusieurs préversions Beta seront publiées (et disponibles à travers l'installateur en ligne), a priori avec une fréquence de deux à quatre versions par mois.

Source : Qt 5.12 LTS Beta Released.

Et vous ?

Qu'en pensez-vous ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
le 17/10/2018 à 0:37
Qt 5.12 Beta 2 est arrivé ! Cette nouvelle préversion apporte plus de deux cents changements sur deux semaines de développement, comme la désactivation du suivi du pointeur de la souris lors de l'utilisation de WebGL, principalement pour des raisons de performance. L'objectif est toujours d'avoir une version finale à la fin novembre (2018, bien sûr !).

Voir aussi : l'annonce sur la liste de diffusion.
Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
le 08/11/2018 à 13:31
Et voici la Beta 4, normalement la dernière avant les RC (la première le 15 novembre). Elle n'a "que" deux jours de retard, ce qui semble un bon signe pour une sortie de Qt 5.12 en version finale fin novembre, comme prévu.

Voir les changements depuis la Beta 3.
Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
le 23/11/2018 à 10:26
Finalement, il n'y aura pas de Qt 5.12 en novembre. Avec la sortie de la RC, la version finale est repoussée à début décembre 2018. Comme attendu, cependant, les différences avec la Beta 4 sont assez mineures et comportent un bon nombre de modifications de la documentation.

Voir aussi : la liste des changements.
Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
le 30/11/2018 à 17:14
Il semblerait qu'il y ait bien besoin d'une RC 2 pour Qt 5.12. Comme prévu, celle-ci est très légère : elle inclut un total de sept commits. Si aucun problème majeur n'est découvert, cette RC 2 deviendra Qt 5.12.0 le 5 décembre.

La première version corrective ne devrait pas tarder : Qt 5.12.1 est déjà programmé pour début janvier 2019.
Avatar de koala01 koala01 - Expert éminent sénior https://www.developpez.com
le 04/12/2018 à 14:45
Salut,

Tu as oublié une information majeure : Cette version est désormais disponible en 64 bits sous minGW et supporte la version 7.x. de Gcc sous cette forme

Il me plait de penser que c'est peut-être des suites d'un ticket que j'ai ouvert "il y a peu" concernant le support de MinGW
Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
le 13/12/2018 à 4:11
La nouvelle version avec maintenance à long terme de Qt est sortie. Qt 5.12 aura donc des mises à jour correctives pendant trois ans à compter de début décembre 2018. Cette version amène aussi bon nombre de nouvelles fonctionnalités, comme un support complet de Qt pour Python (ex-PySide 2), qui rend la presque intégralité de Qt disponible en Python.


Deux modules sortent de préversion technologique et sont désormais supportés intégralement : Qt Remote Objects pour les appels de procédure entre processus Qt, y compris avec les signaux et slots ; Qt WebGL Streaming pour l'affichage d'une interface Qt Quick dans un navigateur distant à l'aide de WebGL. Toujours côté Web, Qt pour WebAssembly atteint le stade de deuxième préversion technologique : le support de cette chaîne de compilation des applications Qt pour les navigateurs Web n'est pas encore offert, mais le module est déjà assez mature.

Qt Quick

Le moteur JavaScript utilisé pour Qt Quick a été complètement retravaillé avec Qt 5.11, facilitant les développements futurs. Qt 5.12 apporte ces premières nouveautés, comme l'implémentation de la norme ECMAScript 7 au grand complet, y compris avec les modules (qui peuvent aussi être chargés depuis du code C++).
Le composant TableView fait son grand retour, cette fois comme composant de base (et non plus dans les Qt Quick Controls). Cette implémentation est prévue pour une très haute performance, contrairement au code précédent.

Qt Core et Qt Network

Qt Core peut maintenant lire des fichiers CBOR (concise binary object representation), un équivalent binaire de JSON (JavaScript object notation), plus compact, avec plus de types et de flexibilité.
La classe QRegularExpression gère désormais les correspondances avec plusieurs étoiles, comme QRegExp. Cette nouvelle classe a été apportée avec Qt 5 et représente une nouvelle architecture pour les expressions régulières, avec plus d'objets immuables et moins de risques à l'exécution.
Qt Network implémente le protocole DTLS, une extension de TLS (pour la sécurité) par-dessus UDP (pour la très haute performance). Sur macOS et iOS, les protocoles ALPN (application-layer protocol negotiation) et HTTP/2 sont disponibles grâce à TransportSecurity ; les paires de clés privée-publique au format PKCS#8 sont lues par le moteur SSL de base.

Qt GUI et Qt Widgets

Sous Windows, l'accessibilité est implémentée à travers l'API la plus récente, Windows UI Automation. L'API Windows Pointer Input Messages est mise à profit pour toute interaction, que ce soit avec une souris ou avec un écran tactile — l'implémentation est ainsi unifiée, dès Windows 8.
QGradient dispose de bien plus de dégradés par défaut, inspirés par le site WebGradients. QImage peut lire les images au format RGBA64, c'est-à-dire avec seize bits par canal, qu'il s'agisse de PNG ou de TIFF.

Source : Qt 5.12 LTS Released.
Avatar de epsilon68 epsilon68 - Membre éprouvé https://www.developpez.com
le 16/12/2018 à 22:47
j'ai toujours suivi Qt de tres pres mais le prix de la license est redhibitoire (environ 500 euros / mois)
en fait sur desktop, qt quick n'est pas encore au top (pas de l&f natif) et sur mobile pourquoi ne pas utiliser react native? je ne parle pas de flutter encore, faut voir ce que ca vaut.

ensuite sur la mailing list de Qt, beaucoup se plaignent que des bugs P1 ne sont pas fixés. Je trouve fou qu'ils aient fait la release 5.12 en sachant qu'un bug bloquant soit dedans.

je ne comprends pas cette orientation de livrer en previlegiant la deadline que la qualité.
Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
le 17/12/2018 à 1:49
Citation Envoyé par epsilon68 Voir le message
en fait sur desktop, qt quick n'est pas encore au top (pas de l&f natif)
Ah bon ?

Citation Envoyé par epsilon68 Voir le message
ensuite sur la mailing list de Qt, beaucoup se plaignent que des bugs P1 ne sont pas fixés
Pourtant, ils ont fait une RC 2 justement à cause de problèmes bloquants trouvés dans la RC 1…
Responsable bénévole de la rubrique Qt : Thibaut Cuvelier -