かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

WPF4.5入門 その2 「WPFとは」

過去記事


WPFとは

MSDNのWPFの概要の章に以下のように説明されています。

WPFの概要より抜粋 http://msdn.microsoft.com/ja-jp/library/aa970268.aspx
Windows Presentation Foundationとは、魅力的な外観のユーザーエクスペリエンスを持つWindows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです。

.NET Framework 3.0から搭載されているWPFの概要をそのまま引き継いでいるためだと思いますが、次世代のプレゼンテーションシステムというよりは、現在求められようとしているデスクトップアプリケーションを開発するために必要な機能が含まれたプラットフォームという言い方のほうがしっくりくると思います。WPFが登場してからのGUIアプリケーションを作るプラットフォームがすべてWPFの考えを踏襲して作られていることからも、このことが伺えます。

  • Silverlight
    • WPF/Eという名前で開発され、Silverlightという名前でリリースされた。WPFと同じプログラミングモデルで開発が可能。
  • Silverlight for Windows Phone
    • SilverlightをWindows Phone向けにしたもの
  • Windows Runtime
    • Windows ストア アプリ開発のためのプラットフォームで、WPFと同じプログラミングモデルで開発が行えるスタイルが提供されている。
  • Windows Phone Runtime
    • Windows RuntimeとSilverlight for Windows Phoneを混ぜたような雰囲気を醸し出しているプラットフォーム。当然WPFと同じプログラミングモデルで開発が行える。

WPFのプログラミングモデル

WPFで確立されたプログラミングモデルをベースに、最近のGUIアプリケーション開発のためのプラットフォームが作成されていることについて紹介しました。では、WPFのプログラミングモデルとはどのようなものか、ここで簡単に説明したいと思います。WPFのアプリケーションは、主に以下のような形で作成されます。(カッコ内は記述言語)

XAML(ザムルと読みます)と、C#によって画面を作成し、それとロジックやデータモデルをデータバインディングやメソッド呼び出しによって連携させて1つのアプリケーションとして作成します。