web-dev-qa-db-ja.com

Windows 8のWinRTおよびWPF

私が理解しているように、WinRTは、基になるWin32 APIを使用せずに記述されたWPFの別のバージョンです。

WinRTとWPFの関係は何ですか? WPFはWindows 7のMetroで動作しますか、それともクラシックデスクトップを起動しますか?

基調講演からそれは明確ではありません。 Windows 8がインストールされているユーザーがいる場合は、その動作を確認できます。

ありがとう

33
bstodos

WinRTは、Winapiの置換です。 APIはネイティブであり、CLRの上にレイヤーとして実行されるWPFとは非常に異なります。それは確かにWPFに似ており、混乱の原因の1つです。マネージコードのメタデータ形式を採用し、古いタイプライブラリを置き換えました。また、WPF、Silverlight、Windows PhoneなどのUI設計にXAMLを使用します。 Windows 8用のWPFアプリを作成することはできますが、アプリはストアを通じて公開できず、Metroデスクトップと統合されず、ARMコア。それが本当の問題かどうかは、Metroが市場でどれだけうまく機能するかに大きく依存します。

37
Hans Passant

SilverlightとWPFの間に関係がないように、WPFとWinRTの間に関係はありません。これで、WPF、Silverlight、WinRTの3つのテクノロジができました。

WPFアプリケーションを実行しようとしても、Metroでは実行されず、従来のデスクトップでのみ実行されます。

Visual Studio 2011では、2つの異なるタイプのアプリケーションとしてWPFとMetroがあり、WPFとWinRTのXamlは同じではなく、WPFに存在する多くのクラスがWinRTにないため、WinRTのXamlはSilverlightのXamlとほとんど同じです。図書館。ただし、Silverlight用に存在するクラスのほとんどは、WinRTで使用できます。

10
Akash Kava

Windowsランタイム(WinRT)は、Metroアプリケーション(およびそれ以降のサーバーアプリケーション)の作成に使用される代替APIです。

APIはクラス/メソッド/構造に基づいており、.Net Metroアプリ、html5/css3/javascriptアプリ、およびC/C++ Metroアプリケーションに表示されます。

実装はネイティブです。

APIは.winmdファイルを介して表示されます。これには、.Netアセンブリにあるメタデータと非常によく似たメタデータが含まれています。

APIは、実行に50ミリ秒以上かかる可能性があるため、非同期/待機の使用を必要とする多くのAPIと安全で非同期に対応するように設計されています。

Win32 APIとCOM APIのサブセットが含まれています。

とにかく...次のリンクが役立ちます... channel9には、件名にいくつかの// Build /ビデオもあります。

Metroスタイルアプリの開発- http://msdn.Microsoft.com/en-us/windows/apps/

MetroスタイルアプリのWin32およびCOM- http://msdn.Microsoft.com/en-us/library/windows/apps/br205757(v = VS.85).aspx

MetroスタイルアプリのAPI- http://msdn.Microsoft.com/en-us/library/windows/apps/br211369(v = VS.85).aspx

10
Stephen Gennard

WinRTは、XAMLではなくWPFを使用できる新しいライブラリです。

WPFは主に視覚的にDirectXを使用します。

WinRTは以下で使用できます。

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

WinRTは、COMインターフェイスに基づく非マネージAPIです。 .winmdメタデータファイル(Windows\System32\WinMedataDataディレクトリ)でオブジェクトbuitを呼び出すことによって使用します。

すべての名前空間は「Windows」で始まります。

XAMLファイルを使用してWindows 8アプリケーションを作成できますが、それがWPFとの唯一の共通点です。

2
Stephane Halimi