Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Sortie de Qt 5.4 Beta
Avec une meilleure gestion des écrans à haute résolution et du Bluetooth basse consommation

Le , par arnolddumas

84PARTAGES

3  0 
Toute la puissance du Web avec Qt WebEngine

HTML5 est de nos jours une technologie importante et l'écosystème Qt se doit de proposer le meilleur support qui soit. Le Qt WebEngine, un projet de recherche et développement s'appuyant sur Chromium, a maintenant atteint une maturité certaine, en gérant totalement le bureau et les plateformes mobiles.

Qt WebEngine fournit une API commode, à la fois pour Qt Widget et pour Qt Quick, en utilisant le moteur Web du projet Chromium. Qt WebEngine ne se contente pas d'afficher du contenu Web, il tire aussi parti de l'ensemble de la pile graphique de Qt, ce qui vous permet de mélanger une surcouche d'apparence native reposant sur les contrôles Qt Quick avec du contenu Web et des shaders OpenGL. Bien évidemment, le fait que Qt fournisse un ensemble d'outils pour la création d'applications fait de Qt WebEngine l'API de référence pour les moteurs Web.

Le nouveau module Qt WebChannel joue le rôle de pont entre QML/C++ d'un côté et HTML/JavaScript de l'autre, permettant d'exposer des objets dérivant de QObject dans un contexte Web.

Pour les plateformes qui ne permettent pas la distribution de Qt WebEngine, mais aussi pour celles qui n'ont pas besoin d'un moteur Web aussi développé, Qt 5.4 introduit un nouveau module encore au stade de préversion : Qt WebView. Il intègre des contenus de type Web au sein d'une interface graphique native et est dès à présent disponible pour Android et iOS. Cela fait aussi de Qt WebView une solution pratique et légère pour afficher de la documentation au format HTML au sein d'une application. Qt WebView sera disponible en même temps que la version finale de Qt 5.4 en qualité de supplément.

Qt 5.4 contient aussi le module Qt WebKit. Ce dernier est toujours supporté, mais il est considéré comme terminé et ne recevra donc plus aucune nouvelle fonctionnalité. Par ailleurs, ce module reposant sur WebKit sera déprécié dans une version future, étant donné que le nouveau module Qt WebEngine est équivalent au niveau des fonctionnalités. Notez par ailleurs que, dans la plupart des cas, le port de Qt WebKit à Qt WebEngine se déroule simplement et sans problème.

Gestion complète de Windows RT – publication dans le Windows Store

Le port de Qt pour Windows RT fut introduit dans Qt 5.3 Beta. Grâce aux retours des utilisateurs, il a été grandement amélioré et de nombreuses API manquantes ont été implémentées. Qt 5.4, gère maintenant totalement la plateforme WinRT.

Avec Qt 5.4, la plupart des modules du framework sont disponibles sur WinRT, par exemple Qt Quick, Qt Quick Controls, Multimedia, Positioning, Network (y compris SSL/TLS), Core et GUI. Avec Qt pour WinRT, pour pouvez maintenant déployer vos applications sur le Windows Store et ainsi viser les Windows Phone 8.1 (et plus récents) et les tablettes Windows avec l'interface Modern UI.

Nouvelles conditions de licence – introduction de la LGPLv3

Comme annoncé plus tôt, la version libre de Qt 5.4 est aussi disponible sous licence LGPLv3. Cette nouvelle licence permet à « The Qt Company » de proposer des composants à haute valeur ajoutée à la communauté Qt sans que cela n'impacte les affaires de l'entité commerciale.

Améliorations pour Windows

En plus de WinRT, Qt 5.4 apporte de nombreuses améliorations aux utilisateurs de Windows. Qt 5.4 apporte le support des écrans High DPI. Quelle que soit la résolution de la dalle ou sa résolution, Qt 5.4 maintient un affichage cohérent. Cette nouvelle version mineure apporte le support du HighDPI pour Windows, ainsi qu'un certain nombre d'améliorations pour les autres plateformes telles qu'OS X et X11.

Le support du HighDPI est encore considéré comme étant expérimental dans Qt 5.4 et doit être activé à l'aide de variables d'environnement. Si vous souhaitez en savoir plus sur le support du HighDPI, vous pouvez jeter un coup d'œil à la documentation.

Qt 5.4 apporte la possibilité de choisir dynamiquement pendant le lancement de l'application s'il faut utiliser ANGLE ou OpenGL sous Windows. Il est donc possible d'utiliser au choix opengl32.dll ou bien l'implémentation OpenGL ES 2.0 d'ANGLE dans une application Qt sans avoir besoin de fournir deux binaires différents. Cela simplifie grandement la création d'applications Qt Quick pour les machines Windows. La sélection dynamique de l'implémentation d'OpenGL n'est cependant pas activée par défaut dans les binaires de Qt 5.4 Beta.

En plus de cette nouvelle fonctionnalité, cette nouvelle version apporte un nombre significatif de corrections de bogues et d'améliorations quant au support de Windows.

Autres améliorations du côté graphique

Du côté graphique, le support du HighDPI et le changement dynamique d'OpenGL ne sont pas les seules nouveautés concernant Windows. Une des plus importantes nouveautés est la classe QOpenGLWidget, le remplaçant moderne du vieillissant QGLWidget de Qt 4. QOpenGLWidget est un nouveau widget permettant d'afficher du contenu rendu par OpenGL et qui peut être utilisé comme n'importe quel autre widget. Cela permet de déprécier l'ancien module Qt OpenGL, étant donné que toutes ses fonctionnalités et bien d'autres encore sont maintenant assurées par d'autres modules.

Qt 5.4 amène aussi une nouvelle API, nommée QQuickRenderControl, qui permet un rendu efficace de scènes Qt Quick 2 dans des tampons de scènes. Le contenu peut alors être utilisé aussi bien dans des applications basées sur Qt ou bien sur des générateurs de rendu tiers. Avec Qt 5.4, il est maintenant possible d'adopter et d'emballer des contextes OpenGL existants en tant que QOpenGLContext. Cela facilite l'utilisation de contenu généré avec Qt dans d'autres moteurs de rendu. En plus d'API graphiques additionnelles, Qt 5.4 apporte deux nouvelles classes, QOpenGLWindow et QRasterWindow et introduit le support d'images avec 10 bits par canal.

QOpenGLContext est maintenant capable d'adopter des contextes natifs existants (EGL, GLX…). Cela permet une interopérabilité entre Qt et d'autres briques logicielles, comme des moteurs de jeux. Pour plus d'informations à ce propos, vous pouvez consulter l'introduction à QOpenGLWidget sur le blog du Qt Project.

Bluetooth basse consommation

Qt 5.4 présente une implémentation du Bluetooth basse consommation, qui permet la communication avec un nombre important de capteurs intelligents comme les habits. Cette implémentation ne fonctionne, pour le moment, qu'avec BlueZ 4 et 5 sur Linux uniquement ; la gestion d'autres plateformes telles qu'iOS et Android sera ajoutée dans les prochaines versions de Qt. Avec Qt 5.4, seules les fonctionnalités centrales telles que définies par les spécifications « Bluetooth 4.0 » sont supportées, c'est-à-dire qu'il n'est possible que de créer des clients Bluetooth basse consommation.

Si vous êtes intéressés par le Bluetooth basse consommation, vous pouvez consulter la vue d'ensemble du module Qt Bluetooth. Les retours des utilisateurs seront très importants pour permettre à ce module de dépasser le stade de préversion.

Démarrage plus rapide, déploiement plus léger et style natif pour Android

Les développeurs ont beaucoup travaillé à l'amélioration du support d'Android. Ainsi, cette version apporte un nombre considérable de nouvelles fonctionnalités pour Android. L'analyse des importations QML est maintenant gérée, ce qui aide à réduire la taille des paquets à déployer. Par ailleurs, le cache prégénéré des ressources introduit par Qt 5.3 permet de démarrer une application en moins de temps qu'il ne faut pour le dire.

Du côté de l'interface utilisateur, les widgets et les contrôles Qt Quick ont maintenant une apparence native. Avec les précédentes versions de Qt, cela était déjà possible, mais il fallait utiliser Ministro. À partir de Qt 5.4, tous les widgets et contrôles créés avec Qt Quick comme les boutons, les curseurs, les barres de progression auront une apparence native par défaut.

Gestion améliorée d'iOS

Cette nouvelle version mineure de Qt améliore grandement le support d'iOS en amenant un nombre important de correctifs pour iOS 8 et Xcode 6. En plus de ces améliorations mineures et des habituelles corrections de bogues, cette version apporte différentes nouvelles fonctionnalités comme le modèle de sélection tactile de texte. Au lieu de la précédente approche type « bureau » (appuyer et glisser), on peut maintenant appuyer et maintenir appuyé pour sélectionner du texte. Qt affichera des poignées de sélection qui peuvent être tirées, ainsi qu'une note contextuelle, comme avec les applications natives. Le menu d'édition peut par ailleurs être modifié grâce au contrôle Qt Quick.

Plus généralement, l'apparence des applications Qt se rapproche de plus en plus des applications natives. Par ailleurs, beaucoup de correctifs améliorant la stabilité et les performances ont été apportés aux parties du code gérant le fenêtrage, l'écran, l'orientation et la géométrie, ainsi que la gestion du clavier virtuel.

Gestion d'OS X 10.10, de la signature de code et autres améliorations pour OS X

Qt 5.4 améliore significativement la gestion d'OS X 10.10 Yosemite. Les développeurs ont travaillé dur pour améliorer et corriger les problèmes de style et les autres erreurs rencontrées lors de l'utilisation conjointe d'OS X 10.10 et de Qt 5.4. Les applications créées avec une version antérieure de Qt fonctionneront avec cette nouvelle version d'OS X 10.10, mais il peut y avoir des erreurs de style, cela dépend de votre application. En plus d'OS X 10.10, beaucoup de bogues spécifiques à OS X remontés par les utilisateurs ont été corrigés et de nouveaux bogues seront corrigés avant la sortie de la version finale.

Une nouveauté significative de Qt 5.4 est le support de la signature de code, requise sur OS X 10.10 (et 10.9.5) pour publier des applications sur le Mac AppStore. Tout cela est encore en développement, mais la fonctionnalité initiale est déjà présente dans cette préversion. Sa version complète sera normalement proposée dans la version finale de Qt 5.4.

Tablettes Wacom, Wayland, mise à jour et de Qt Creator et améliorations diverses

Le support des tablettes Wacom a été amélioré et unifié au sein des différentes plateformes dans Qt 5.4, grâce à l'aide et au support des développeurs KDE de Krita. QTabletEvent contient maintenant les informations concernant les boutons du stylet, la rotation et la pression tangentielle de ce dernier sont maintenant des valeurs unifiées vis-à-vis des différentes plateformes. Par ailleurs, l’événement de proximité contient maintenant le type de stylet et l'outil en cours d'utilisation. Ces différentes améliorations ne feront plus de la gestion des tablettes un obstacle à la migration vers Qt 5.

Qt 5.4 contient maintenant le module Qt Wayland. Cela vous permet d'exécuter vos applications sur Weston, le compositeur de référence pour Wayland. La compatibilité avec Weston et de Wayland en est encore à ses premiers pas, Qt ne fournit pas encore l'expérience d'environnement de bureau comme vous pouvez la retrouver sur Windows, Cocoa ou xcb. Quoi qu'il en soit, Weston et Wayland fournissent dès à présent un système de fenêtrage qui peut se révéler utile dans le monde de l'embarqué. Le module Qt Wayland n'est livré que sous la forme de code source. Le support de Wayland dans Qt est un objectif important, notamment concernant la création de périphériques.

Qt 5.4 Beta fournit une mise à jour de l'environnement de référence, Qt Creator 3.2.2, ce qui apporte différentes améliorations, notamment pour les exemples concernant Xcode 6 et l'utilisation du simulateur iOS.

Conclusion

Cet article présente les nouveautés les plus significatives de Qt 5.4, mais il a forcément fallu faire un choix. Pour la liste complète des nouveautés introduites, vous êtes vivement invité à consulter la page du wiki listant les nouveautés de cette nouvelle version mineure. Vous pouvez aussi télécharger Qt 5.4 Beta et vous faire votre propre opinion.

Qt 5.4 Beta est dès à présent disponible sur le site Web du Qt Project. Merci de télécharger cette nouvelle version et de faire remonter les bogues via la liste de diffusion ou l'application de gestion de bogues.

Une erreur dans cette actualité ? Signalez-le nous !