La fin des UWP ? Qt 6 ne permettrait plus de créer des applications Windows universelles
Pour réduire la maintenance d'une plateforme inusitée

Le , par dourouc05

33PARTAGES

8  1 
L'une des nouveautés de Windows 10 était un nouveau jeu d'API, censées remplacer Win32 à terme : UWP, pour universal Windows platform. Une application UWP est automatiquement compatible avec diverses plateformes : Windows 10, évidemment, mais aussi Windows 10 Mobile (depuis lors abandonné), Xbox One ou encore Hololens. Ces applications peuvent être écrites dans un langage comme C#, VB.net, JavaScript, mais aussi en C++. L'intégration avec le Windows Store est aussi l'un des points forts de UWP : longtemps, seules les applications UWP y étaient acceptées.



Pour suivre la mode, Qt s'est ouvert aux applications UWP, ce qui a permis de déployer des applications Qt sur le Windows Store. Seulement, ce mode n'est plus nécessaire pour déployer des applications dans le Windows Store, ce qui réduit d'autant l'intérêt de le garder pour Qt 6. En effet, la compatibilité UWP de Qt n'est pas aussi avancée que pour d'autres plateformes, notamment la distinction entre le fil d'exécution principal de l'application et celui qui effectue le dessin de l'interface. De manière plus générale, le code nécessaire pour cette compatibilité n'est pas le plus propre : il nécessite beaucoup de compilation conditionnelle (directives #ifdef), d'implémentations des API de Qt différentes des applications Windows traditionnelles (réseau, polices, ANGLE, accessibilité, etc.). Aussi, l'exécution de la batterie de tests pour cette plateforme est extrêmement lente : une heure pour les modules de Qt Base (le cœur de Qt : Qt Core, Qt GUI, Qt Declarative, Qt Widgets, etc.) sans UWP, tandis qu'UWP seul prend… deux heures.

La suppression du code relatif à UWP n'aurait cependant pas un grand impact pour les développeurs pour Windows 10 : les API offertes à l'origine par UWP (capteurs, localisation, Bluetooth) restent utilisables par des applications "natives".

La réflexion du côté de Qt dépend aussi des actions de Microsoft : Office 2016 était une application UWP, mais ce n'est plus le cas pour Office 2019 (sauf OneNote). Il n'est pas impossible qu'UWP revienne en force pour les ordinateurs ARM, mais les intentions de Microsoft ne semblent plutôt aller dans l'autre direction : la firme est poussée par les développeurs, qui semblent plutôt rejeter UWP.

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

Avatar de dfiad77pro
Membre expérimenté https://www.developpez.com
Le 23/05/2019 à 3:58
Office 2016 était une application UWP
C'est faux. Office 2016 est une application win32, ce sont les version mobile (pour Windows phone + tablette) qui étaient des application UWP.

UWP ne va pas disparaitre c'est un troll, Microsoft étends juste les API aux autres techno.
D'ailleurs on commence à avoir des appli UWP avec Fluent design qui arrivent sur le store (intel centre de configuration graphique, etc), mais aussi des applications React Native .
Microsoft diversifie, mais ne supprime pas UWP qui est fortement utilisé dans Windows 10 ( souvent dans sa version c++ au lieux de C#, ce qui est un peu bizarre)
1  1 
Avatar de air-dex
Membre expert https://www.developpez.com
Le 24/05/2019 à 1:24
Logique. Les UWP étaient une bonne idée sur le papier, mais cela ne pouvait pas marcher. Il faut au moins deux plateformes pour être universel :
  • Le PC est bien entendu un candidat sérieux pour cela. Je pense que tout le monde sera d'accord.
  • La Xbox One c'est bien pour des jeux et des services multimédias genre Spotify, mais un peu moins pour le reste. J'imagine mal une application de comptabilité cartonner sur Xbox One.
  • Le mobile était un bon candidat mais W10M est mort et enterré.
  • Les autres plateformes sont trop confidentielles ou ont moins de liens avec le PC.


Il n'y a que le PC qui soit intéressant chez Microsoft, soit une seule plateforme ce qui est chaud pour de l'Universel. Mais même là il y a un couac. Qui dit "UWP", dit "Windows 10 seulement". Proposer une UWP implique donc d'exclure les utilisateurs de Windows 8.x et surtout ceux de Windows 7, ce qui fait pas mal d'utilisateurs au final. Certes leur nombre est amené à baisser, mais il n'empêche que ça reste une minorité non négligeable et donc à ne pas négliger. À choisir il vaut donc mieux choisir une solution technologique pour l'universalité des Windows PC (7, 8.0, 8.1 et 10), avec si possible de quoi pouvoir facilement prendre en compte macOS voire Linux si nécessaire, plutôt que pour l'universalité des plateformes Microsoft (PC, Xbox One, smartphones et Hololens). Donc toujours pas UWP.
0  0 
Avatar de air-dex
Membre expert https://www.developpez.com
Le 24/05/2019 à 1:25
HS : j'ai une question sur Qt 6. Où en sont-ils avec les Qt Quick Components 2 ? Si j'ai bien compris les Qt Quick Components 1 sont amenés à s'effacer (et donc à disparaître) au profit des QQC 2. Or pour l'instant on a plus une complémentarité entre QQC 1 et QQC 2 que des QQC 2 prêts à totalement remplacer les QQC 1. Des composants graphiques de QQC 1 n'ont toujours pas de "version QQC 2" (l'inverse étant plutôt faux), et surtout il manque encore le vrai L&F natif aux QQC 2. Il y a encore du travail à réaliser sur ce point.

Sinon j'ai aussi vu que Qt XML serait déprécié. Clairement dommage parce que ça reste à mon avis plus complet et mieux foutu que ce que propose leurs deux classes QXMLStream.
0  0 
Avatar de Madmac
Membre éprouvé https://www.developpez.com
Le 25/05/2019 à 16:48
Logique. Les UWP étaient une bonne idée sur le papier, mais cela ne pouvait pas marcher. Il faut au moins deux plateformes pour être universel :
Seulement dans l'esprit malade de Balmer. Avec des outils comme Qt, les programmeurs pouvaient faire des applications qui fonctionnaient sous Win32, MacOS, et Linux.
Ainsi ils avaient une plus grande possibilité d'avoir un bon retour sur leur investissent . En abandonnant win32, le marché de Microsoft devenait beaucoup moins intéressant, car leur retour sur investissement se réduisait grandement, mais en plus les programmeurs devaient investir du temps et de l'argent pour étudier une technologie mal foutu qui devrait être répéter dans le futur. ( Il est clair que Microsoft allait avoir une réaction négative quand les consommateurs ont découvert qu'ils ne pouvaient plus mettre deux applications cote-à -cote. Cet interface allait forcément être remanier, ne serait-ce que pour ce problème),

Microsoft aurait du développer une technologie pour faire des web applications plus puissante sur Egde pour sa section mobile. Et foutre la paix aux utilisateurs de Windows.
0  0 

 
Responsable bénévole de la rubrique Qt : Thibaut Cuvelier -

Partenaire : Hébergement Web