Techdays : quelques précisions sur Metro et WinRT
mer, 08/02/2012 - 15:35
Au hasard des sessions Windows 8 et spécialement sur WinRT et l'interface Metro, quelques informations vont sans doute vous intéresser. Tout d'abord, WinRT supporte bien entendu pleinement le langage C++ et c'est le langage le plus bas niveau disponible. Cela signifie qu'un code C++ communique directement avec WinRT sans aucun intermédiaire contrairement à la partie C# par exemple qui nécessite une "projection" pour dialoguer avec l'assembleur (astuce dans l’IDE, fenêtre désassembleur). Avantage : les performances. Il est possible de faire du XAML en C++ et donc écrire des applications Metro en code natif.
Cependant, Metro imposant des guidelines d'interface, le code C++ sera lui aussi bridé. Par exemple, par défaut, impossible de faire une boite de dialogue quant on est en projet Metro (sauf à contourner Windows.h). L'éditeur de code grisera automatiquement le code non compatible. L'approbation Marketplace rejeta toute application C++ (et autres) qui viole les principes Metro.
D'autre part, Silverlight est disponible uniquement sur la partie Desktop et non Metro, comme annoncé. Impossible aussi de faire dialoguer directement une application ou des applications entre Desktop et Metro. Seule solution, passez par un service cloud. Raison officielle : sécurité et étanchéité. Concernant DirectX, actuellement, il se limite à C++ mais son support dans C# est un projet (mais non issu de Microsoft Corp).
Nous reviendrons plus en détails sur WinRT et Metro dans Programmez!