web-dev-qa-db-fra.com

WinRT et WPF dans Windows 8

Si je comprends bien, WinRT est une version différente de WPF écrite sans utiliser les API Win32 sous-jacentes.

Quelle est la relation entre WinRT et WPF? WPF fonctionnera-t-il sous Metro dans Windows 7 ou lancera-t-il le bureau classique?

Ce n'est pas si clair d'après la Keynote. Si quelqu'un a installé Windows 8, il peut confirmer son comportement.

Merci

33
bstodos

WinRT est un remplacement pour le Winapi. L'API est native, très différente de WPF qui s'exécute comme une couche au-dessus du CLR. Il ressemble certainement à WPF, ce qui cause de la confusion. Il a adopté le format de métadonnées du code managé, remplaçant les anciennes bibliothèques de types. Et utilise XAML pour les conceptions d'interface utilisateur, un peu comme WPF, Silverlight et Windows Phone. Vous pouvez toujours écrire des applications WPF pour Windows 8 mais votre application ne peut pas être publiée via le magasin, ne s'intégrera pas avec le bureau Metro ni ne fonctionnera sur des tablettes basées sur le ARM Que ce soit un vrai problème dépend en grande partie de l’efficacité de Metro sur le marché.

37
Hans Passant

Il n'y a aucune relation entre WPF et WinRT, tout comme il n'y a aucune relation entre Silverlight et WPF. Nous avons maintenant trois technologies, WPF, Silverlight et WinRT.

Si vous essayez d'exécuter l'application WPF, elle ne s'exécutera pas sur Metro, elle s'exécutera uniquement sur le bureau classique.

Dans Visual Studio 2011, vous avez WPF et Metro comme deux types d'applications différents, et Xaml pour WPF et WinRT n'est pas le même, Xaml pour WinRT est à peu près le même que celui de Silverlight car beaucoup de classes qui existent pour WPF manquent dans WinRT bibliothèque. Mais la plupart des classes qui existent pour Silverlight sont disponibles dans WinRT.

10
Akash Kava

Windows Runtime (WinRT) est une API alternative utilisée pour créer des applications Metro (et des applications serveur ultérieures).

Les API sont basées sur les classes/méthodes/structures et font surface avec les applications Metro .Net, les applications html5/css3/javascript et les applications Metro C/C++.

L'implémentation est native.

Les API sont rendues visibles via des fichiers .winmd, qui contiennent des métadonnées très similaires aux métadonnées que vous avez dans les assemblys .Net.

Les API sont conçues pour être sécurisées et conviviales avec de nombreuses API nécessitant l'utilisation d'Async/Wait car elles prennent potentiellement plus de 50 ms à exécuter.

Il comprend un sous-ensemble d'API Win32 et d'API COM.

Quoi qu'il en soit ... les liens suivants aident ... channel9 a également quelques // Build/vidéos sur le sujet ..

Développement d'applications de style Metro - http://msdn.Microsoft.com/en-us/windows/apps/

Win32 et COM pour les applications de style Metro - http://msdn.Microsoft.com/en-us/library/windows/apps/br205757 (v = VS.85) .aspx

API pour les applications de style Metro - http://msdn.Microsoft.com/en-us/library/windows/apps/br211369 (v = VS.85) .aspx

10
Stephen Gennard

WinRT est une nouvelle bibliothèque que vous pouvez utiliser XAML, mais pas WPF.

WPF utilise principalement DirectX pour le visuel.

Vous pouvez utiliser WinRT avec:

  • XAML
    • C #
    • C++
    • VB.NET
  • HTML/JS/CSS
5
Daniel A. White

WinRT est une API non gérée basée sur des interfaces COM. Vous l'utilisez en appelant des objets buit dans des fichiers de métadonnées .winmd (répertoire Windows\System32\WinMedataData).

Tous les espaces de noms commencent par "Windows".

Vous pouvez écrire votre application Windows 8 en utilisant des fichiers XAML, mais c'est le seul point commun avec WPF.

2
Stephane Halimi