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.
Partager