IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Plateformes Discussion :

Qt et WinRT : quoi de neuf ?


Sujet :

Plateformes

  1. #1
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 585
    Points
    188 585
    Par défaut Qt et WinRT : quoi de neuf ?
    Qt et Windows Runtime : retour sur les nouveautés pour Qt 5.6 et 5.7
    Le futur du port s'annonce brillant, avec notamment DirectX 12

    Windows Runtime (WinRT) est une plateforme logicielle qui tend à homogénéiser l’interface des applications Windows universelles (UWP, universal Windows platform), notamment imposée sur le Windows Store. Cette bibliothèque vise à remplacer l’API Win32, qui commence à montrer son âge, notamment parce que cette API n’est pas du tout orientée objet et provient de l’époque Windows 95 : au contraire, WinRT s’inscrit dans le futur. Ce cadre logiciel, arrivé avec Windows 8, exploite les concepts orientés objet et s’étend sur bon nombre de plateformes, tant de bureau (Windows 8, 8.1, 10) que mobiles (pour téléphones — Windows Phone 8.1, Windows 10 Mobile — ou non — Windows 10 IoT, Hololens, Xbox One). Qt est, bien évidemment, compatible avec WinRT et permet de développer des applications UWP, en profitant des dernières avancées de Microsoft (comme le glisser-déposer).

    État actuel avec Qt 5.6 et 5.7

    Qt 5.6 a nécessité pas mal de travail côté WinRT. En effet, depuis cette version, toute l’interface est dessinée dans une couche XAML, afin de s’intégrer au mieux à la plateforme. Actuellement, le code permet d’échanger pas mal d’informations internes avec le moteur d’exécution XAML, notamment afin d’intégrer du contenu XAML dans une application Qt : Qt WebView en profite pour utiliser le navigateur local (Microsoft Edge) dans une application Qt Quick.

    Qt 5.6 est arrivé avec d’autres fonctionnalités intéressantes, comme la gestion de la caméra dans Qt Multimedia ou la reconnaissance du stylet (notamment pour les Microsoft Surface). Qt 5.6.1 améliore le confort de vie pour développer des applications UWP au niveau des fichiers de projet qmake : il n’est plus nécessaire de préciser CONFIG += windeployqt pour créer une solution Visual Studio, cela est fait automatiquement ; de même, en précisant QT += multimedia, bon nombre de fonctionnalités sont activées, comme l’accès à la webcam ou au micro (qu’il est bien sûr possible de désactiver).

    Qt 5.7 n’est pas resté en retrait pour les améliorations. Ainsi, l’audio passe maintenant par WASAPI, qui garantit une latence moindre que précédemment — également accessible sous Windows, pour du développement d’interfaces classiques. L’inconvénient est alors que WASAPI synchronise le taux d’échantillonnage avec celui du pilote audio, sans donner la possibilité au développeur de convertir automatiquement le flux audio. Cette fonctionnalité n’est pas activée par défaut et doit être compilée séparément.

    Aussi, côté Qt Quick, le code JavaScript peut être compilé à la volée (JIT), comme sur la plupart des autres plateformes. Initialement, comme Apple, Microsoft avait interdit toute génération de code pour des applications Windows Store, comme mesure de sécurité. Cependant, cette interdiction semble avoir été levée, même s’il n’y a pas encore eu de communication officielle à ce sujet. Grâce à cela, les applications Qt Quick peuvent être sensiblement accélérées, certaines fonctions s’exécutant plus de cent fois plus vite. Au vu des incertitudes à ce sujet, cette fonctionnalité doit être activée manuellement et pourrait être retirée d’une prochaine version de Qt.

    Fonctionnalités en cours de développement

    Dans le futur, les développeurs espèrent que le module JIT pourra être activé pour les plateformes ARM : de par leur puissance, toute accélération possible du code est bonne à prendre. Cependant, toutes les fonctionnalités requises ne sont pas encore disponibles dans les API fournies par Microsoft, même si l’implémentation a déjà commencé côté Qt.

    Les fonctionnalités de Qt 5.8 seront arrêtées d’ici un mois, WinRT aura droit à son lot. Notamment, le Bluetooth basse énergie sera accessible (comme sous Android et iOS actuellement) et le module Qt Purchasing sera étendu au Windows Store pour fournir des achats à l’intérieur des applications. Qt Speech arrivera en préversion technologique, avec côté WinRT la mise à disposition de l’API de synthèse vocale de Microsoft. De même, les travaux de découplage de Qt Quick par rapport à OpenGL ne serviront pas qu’à implémenter certaines parties sur Vulkan : ces applications pourront être affichées avec DirectX 12.

    Source : Status Update on Qt for WinRT / UWP.
    Ce contenu a été publié dans Qt par dourouc05.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou 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
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 749
    Points : 10 666
    Points
    10 666
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par dourouc05 Voir le message
    l’API Win32, qui commence à montrer son âge, notamment parce que cette API n’est pas du tout orientée objet et provient de l’époque Windows 95
    L'API Windows est plus vieille que ça encore puisqu'elle date de la toute première version de Windows 16 bits. Pour autant, elle est orientée objet dans la mesure de ce qu'il est possible de faire en C. La preuve:
    How to expose a modern C++ interface from an API designed 25 years ago

    (Il est d'ailleurs amusant de constater que si Win32 permet à du code C d'hériter et de spécialiser n'importe quelle classe de fenêtre, l'héritage de composants WinRT n'est pas toujours possible!)

    En revanche Win32 n'est pas adaptée aux besoins des interfaces modernes, notamment en termes de réactivité (asynchronisme) et d'interopérabilité avec d'autres techno (Javascript particulièrement). A ma connaissance remplacer Win32 par WinRT n'est pas à l'ordre du jour.

Discussions similaires

  1. Perl 5.10 : Quoi de neuf ?
    Par Jedai dans le forum Langage
    Réponses: 6
    Dernier message: 18/12/2007, 21h56
  2. [OS] Leopard: Quand et quoi de neuf ?
    Par vbrabant dans le forum Apple
    Réponses: 86
    Dernier message: 31/10/2007, 11h14
  3. [Together] Nouveau Borland Together 2007 : Quoi de neuf ?
    Par Marc Lussac dans le forum Autres
    Réponses: 0
    Dernier message: 19/10/2007, 01h11
  4. Ruby2 : Quoi de neuf ?
    Par kedare dans le forum Ruby
    Réponses: 4
    Dernier message: 13/04/2007, 15h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo