Windows Presentation Foundation と XAML
Windows Presentation Foundation
Windows Presentation Foundation はマイクロソフトの Windows 用統一プレゼンテーション サブシステムであり、WinFX を通して公開されます。表示エンジンとマネージ コード フレームワークで構成されています。Windows Presentation Foundation は、Windows によるドキュメント、メディア、ユーザー インターフェイス (UI) の作成、表示、操作を統一し、開発者やデザイナが視覚的に優れた、違いを感じるユーザー エクスペリエンスを実現できるようにします。
Windows Presentation Foundation は、Windows XP、Windows Server 2003、および Windows オペレーティング システムの今後の全リリースで使用できます。
Windows Presentation Foundation の主要な部分は、エンジンとプログラミング フレームワークの 2 つです。
Windows Presentation Foundation (WPF) エンジンによって、ドキュメント、メディア、およびユーザー インターフェイスに対する開発者とデザイナのエクスペリエンスが統一され、ブラウザ ベース エクスペリエンス、フォーム ベース アプリケーション、グラフィックス、ビデオ、オーディオ、およびドキュメント用の単一ランタイムが提供されます。今日のコンピュータに装備されているグラフィック ハードウェアの性能をフルに活用できるだけでなく、今後のハードウェアの進歩にも対応することができます。たとえば、WPF のベクタ ベースのレンダリング エンジンを使用すると、アプリケーションで高解像度モニタを利用できるようになります。開発者側やユーザー側での追加作業は必要ありません。同様に WPF は、ハードウェア アクセラレータ対応のビデオ カードを検出すると、それを自動的に活用します。
Windows Presentation Foundation フレームワークは、今日の開発者が実現できる範囲をはるかに超えたメディア作成、ユーザー インターフェイス設計、ドキュメント作成を可能にします。Windows Presentation Foundation は拡張性を重視して設計されているため、Windows Presentation Foundation エンジンを土台として独自のコントロールを基礎から作成したり、既存のコントロールをサブクラス化して新しいコントロールを作成したりすることができます。
Windows Presentation Foundation フレームワークの中核にあるのは、図形、ドキュメント、イメージ、ビデオ、アニメーション、および 3D 用のコントロールと、コントロールやコンテンツを配置する "パネル" 用のコントロールです。これらの要素が、次世代ユーザー エクスペリエンスを開発するための基盤になります。
マイクロソフトは、Windows Presentation Foundation と並行して XAML を導入します。XAML は、Windows アプリケーションのユーザー インターフェイスを表現するマークアップ言語で、開発者やデザイナがユーザー インターフェイスを作成および再利用する際に使用するツールの付加価値を向上させます。Web 開発者にとっては、XAML で導入される多くの概念はすでになじみ深いことでしょう。XAML はまた、ユーザー インターフェイスのデザインを、ベースとなるコードから独立させることができます。開発者とデザイナは、互いに相手の仕事を妨げることなく、より緊密に連携して作業を進めることができます。
Windows Presentation Foundation は、フォーム、ドキュメント、ビデオ、3D などを統合します。今までにないユーザー エクスペリエンスを開発することが可能になります。
Windows Presentation Foundation によって統一されたユーザー インターフェイス プラットフォームが提供されるため、開発者およびデザイナは、ユーザー インターフェイス操作に無制限の可能性を生み出す 1 つのパラダイムを習得できます。.NET 開発者にとっては、使い慣れたフレームワークであり、コードの行数は少なくてすみます。デザイナにとっての Windows Presentation Foundation は、コンテンツとメディア、アプリケーション間の境界を取り去るプラットフォームです。
最も重要な点は、Windows Presentation Foundation が、開発者とデザイナとの密接な協力を可能にし、差別化された連係エクスペリエンスをすばやく提供できるように設計されていることです。
XAML
XAML は、宣言による Windows Presentation Foundation オブジェクト モデルのプログラミングに使用できる、XML ベースのマークアップ言語です。XAML は、特にアプリケーションのユーザー インターフェイスの実装に役立ちます。各 XAML タグは、オブジェクト モデル クラスに対応しています。タグは通常、タグに関連付けられたクラスのプロパティに対応する属性の集合も含んでいます。コンパイル時にパーサーは、XAML を、対応する手続き型コードを含む部分クラスに変換します。各 XAML タグは対応するオブジェクト モデル クラスのインスタンスとなり、タグの属性値が、対応するオブジェクト プロパティに割り当てられます。次に、解析された XAML から生成された部分クラスが、ページの分離コード ファイルと統合されます。これは、ページのオブジェクトを作成する共通言語ランタイム コンパイラによって実行されます。
Windows Presentation Foundation および XAML の詳細については、Windows Vista デベロッパー センターのWindows Presentation Foundation セクション(英語)を参照してください。

写真を "Halo" スタイルでブラウズします。これが動作しているところは、こちら(英語)でご覧ください。デモのみをご覧になりたい場合は、49:30 まで早送りしてください。
開発チームによる 1 時間の XAML ツアー:
Joe Marini - 私が XAML を好きな理由(英語)
|