Windows 8 RT
Windows 8 est sorti récemment, avec une nouvelle plateforme de développement : le Windows Runtime. Le système fournit alors deux modes : classique, semblable à celui de Windows 7 (au menu Démarrer près) ; moderne, anciennement Metro, une interface prévue pour les tablettes et autres smartphones. Les applications pour ce deuxième mode sont construites avec une nouvelle API, Windows Runtime, très semblable à celle de Windows Phone 8.
Le travail de recherche autour de l’utilisation de Qt dans un contexte RT ont été lancées par Andrew Knight (Digia). Les résultats sont d’ores et déjà visibles dans la branche winrt du dépôt qtbase. Avec quelques modifications de Kamil TrzciÅ„ski et la sortie de Qt 5.0, il serait temps de faire décoller ce port de Qt, une manière de compléter l’offre multiplateforme du framework (déjà fournie en ce qui concerne les plateformes mobiles, avec des ports pour Android et iOS, les systèmes mobiles les plus répandus, capitalisant pas loin de nonante pour cent des smartphone vendus).
État du port
Ce port se focalise actuellement sur le cÅ“ur de Qt (le module Qt Core). Les widgets ne seront probablement pas supportés dans le futur proche, étant donné que les développeurs préfèrent dépenser leur énergie sur des manières plus adaptées à l’environnement RT de créer des interfaces graphiques (forcément plus dynamiques), comme Qt Quick.
De même, il est probable que l’élément WebView de QML sera implémenté sur le moteur IE 10, au lieu d’utiliser WebKit 2 (comme pour le reste de Qt). Cela pourrait amener quelques problèmes de compatibilité des applications (IE 10 n’utilisant pas le même moteur de rendu), cependant.
La première étape sera d’afficher de simples fenêtres à l’écran. Ensuite, il est prévu de porter ANGLE, afin d’obtenir le support d’OpenGL ES 2.0, requis pour QML 2.
Vu que le projet est encore actuellement dans ses premières étapes, il n’est pas prévu qu’il soit intégré pour Qt 5.1, plus probablement quelque chose pour Qt 5.2.
Un plug-in pour Qt Creator est aussi en cours de développement, mais il est bien moins avancé : https://gitorious.org/~aknight/qt-creator/aknights-qt-creator.
Windows Phone 8
La situation semble plus simple, puisque tous les modules essentiels de Qt compilent – malgré des fonctionnalités manquantes, à cause de la non-implémentation des détails spécifiques à la plateforme, cela fonctionne bien. En effet, les API disponibles à WinRT sont plus restreintes que celles disponibles sur Windows Phone 8. Notamment, tout le côté réseau doit être réimplémenté presque de zéro, Winsock2 n’étant pas disponible.
La compilation utilise Visual Studio 2012, avec la chaîne de compilation ARM et de nouvelles spécifications pour QMake côté Qt. La procédure complète est plus compliquée qu’une compilation croisée plus standard de Qt, plus expérimentale (c’est le moins qu’on puisse dire), à cause du manque de maturité du port : http://ayufan.eu/2013/02/qt5-and-windows-phone-8/.
Sources
http://blog.qt.digia.com/blog/2013/02/15/port-to-windows-runtime-kick-started/, http://ayufan.eu/2013/02/qt5-and-windows-phone-8/, http://qt-project.org/wiki/WinRT