案件評判
WPFを理解する!初心者でも分かる特徴、使用環境、基礎知識などを簡単に解説!

WPFを理解する!初心者でも分かる特徴、使用環境、基礎知識などを簡単に解説!

最終更新:2021/08/05 投稿:2020/10/05
WPFを理解する!初心者でも分かる特徴、使用環境、基礎知識などを簡単に解説!

WPF(Windows Presentation Foundation)とはマイクロソフト社が開発する主にソフトウェアのユーザインターフェース(表示、操作処理など)を開発するためのツールです。
ユーザインタフェースとロジックを明確に区別するプログラミングモデルを提供しております。この記事ではWPFを理解するために初心者でも分かる使用環境、特徴、基礎知識などを簡単に解説していきます。

WPFとは

WPF(Windows Presentation Foundation)とはマイクロソフト社が開発する、.NET Framework 3.0以降に含まれるユーザインタフェースサブシステムです。主にソフトウェアのユーザインターフェース(表示、操作処理など)を開発するための機能が用意されております。以前より同社が提供しているWindowsFormsに馴染みのある方は立ち上がり早く利用できるようです。
.NETのデスクトップ向けUI開発環境としてはWindows Formsの他にUWP(Universal Windows Platform)があります。WPFの特徴は「グラフィックス(Direct3D)」「Rendering Tier」「柔軟なUIカスタマイズ」などが挙げられます。XAML(ザムル)と呼ばれる XMLベースのマークアップ言語を用いて従来よりも高い操作性、表現力を持つアプリケーションの外観や動作を効率的に定義することができます。

『 WPF基本情報』
誕生時期:2006年(.NET Framework 3.0より登場)
開発者:マイクロソフト社
種別:ユーザインタフェースサブシステム
特徴:①グラフィックス(Direct3D)/②Rendering Tier③柔軟なUIカスタマイズ

WPFの読み方・名前の由来

WPFの読み方は『ダブリューピーエフ』が一般的となっております。正式名称は『Windows Presentation Foundation』であり、それぞれの頭文字を取ってWPFと呼ばれております。開発段階での呼び名は「Avalon」だったことが明かされております。

Hack'en

WPFを使用する環境

WPFを使用する環境を見ていきましょう。

.NET Framework

.NET Frameworkとはマイクロソフト社が開発・提供するアプリケーション開発・実行環境用フレームワークです。主にVisual Studioで開発したプログラムをWindows上で動作させる
ためのに使用されます。Windowsアプリケーションのみならず、WebサービスやWebアプリケーションなどの開発をすることが出来ます。.NET Frameworkは『共通言語ランタイム』『基本クラスライブラリ』『フレームワーク』の3つで構成されております。また最大の特徴として『複数の言語で開発出来る』ということが挙げられます。

.NET Frameworkの基本情報や特徴などを解説している記事はこちら>>

Visual Studio

Visual Studioとはマイクロソフト社が開発・提供するC#やVisual Basic(VB)向けの統合開発環境(IDE)です。統合開発環境とはソフトウェアの開発において必要な機能を豊富に取り揃えたプログラム環境用パッケージのことです。Visual Studioには開発をする上で必要な全て「コードエディタ」「コンパイラ」「デバッガ」などの様々なツールが集約されております。
1997年に初版がリリースされて以降、数々のアップデートを繰り返し2020年時点で『Visual Studio 2019』が最新バージョンとなっております。Visual Studioでは様々な種類が提供されており『Visual Studio Community』『Visual Studio Code』『Visual Studio Online』などが挙げられます。主な対応プログラミング言語としてC#、Visual Basic(VB)、C++が挙げられます。

Visual Studioの基本情報や特徴などを解説している記事はこちら>>

C#

C#とはマイクロソフト社のアンダース・ヘルスバーグ氏が設計したプログラミング言語です。C#という言語はマイクロソフト社が開発した『.NET Framework(ドットネットフレームワーク)』と共に2000年に誕生しました。C#はマルチパラダイムと呼ばれる複数のスタイルから構成されており中でも、オブジェクト指向が主のスタイルです。言語名にも含まれている通り、C系の言語としてCやC++の影響を受けております。尚、設計者のアンダース・ヘルスバーグ氏が以前設計に携わったDelphiの影響も少なからずあるようです。C#の特徴として『マルチパラダイムでオブジェクト指向が主』、『.NET Framework』、『Windowsアプリの開発に向いている』などが挙げられます。C#はマイクロソフト社が開発・提供していることもありWindowsアプリケーションの開発に非常に向いております。

C#の基本情報やメリットなどを解説している記事はこちら>>

WPFの特徴

WPFの特徴を見ていきましょう。

Hack'en

グラフィックス(Direct3D)

WPFはコアの部分にグラフィックス・ハードウェアを活用したレンダリング・エンジンを採用しています。レンダリング・エンジンはベクター・ベースのため、UI要素にスムーズな拡大・縮小/回転を掛けることができます。またハードウェア・アクセラレーションにより、CPUへの負担を最小限に抑えています。さらに全てのグラフィックスはDirect3Dを介して描画されます。Direct3Dを通して描画することにより、グラフィックスハードウェア上のGPUに描画処理の一部を任せることが可能になっております。

グラフィックスレンダリング層

WPFはグラフィックスレンダリング層(Rendering Tier)というWPFアプリケーションを実行するデバイスのグラフィックハードウェア機能とパフォーマンスのレベルを定義しております。WPF3.5まで及び4.0以降は下記の表のように定義されております。

Rendering Tier 0(WPF3.5) ・GPUアクセラレーション無し
・DirectX 7.0未満
Rendering Tier 1(WPF3.5) ・一部GPUアクセラレーション有り
・DirectX 7.0以上、DirectX 9.0未満
Rendering Tier 2(WPF3.5) ・ほとんどの機能がGPUアクセラレーションを使用
・DirectX 9.0以上
Rendering Tier 0(WPF4.0) ・GPUアクセラレーションなし
・DirectX 9.0未満
Rendering Tier 1(WPF4.0) ・いくつかの機能はGPUアクセラレーションを使う
・DirectX 9.0以上
Rendering Tier 2(WPF4.0) ・ほとんどの機能がGPUアクセラレーションを使う
・DirectX 9.0以上

柔軟なUIカスタマイズ

WPFはUIカスタマイズのために用意されたライブラリが非常に豊富です。ボタン、メニュー、リストボックスなどといった基本的な組み込みコントロールが提供されているだけでなく、UI要素の機能拡張や外観のカスタマイズがWindows Formsと比較しても優れております。

WPFとWindows Formsの違い

WPFとWindows Formsの違いについて簡単に解説します。まず一言で違いを表すとWPFは『一から組み立てが可能』でありWindows Formsは『Windows 標準コントロールの上のレイヤー』となります。UIやグラフィック関連の機能拡張がWPFの方が優れていると言われております。その他の要素で比較した表は以下をご覧ください。

WPF Windows Forms
機能拡張
自由度
更新頻度
(サポート)
学習コスト
(Windows Formsに馴染みがあると良し)

『WindowsFormsとは』
WindowsFormsとはマイクロソフト社が開発する『NET Framework』に含まれるグラフィカルユーザーインターフェイスAPIです。WindowsFormsのFormsが指す『Forms(フォーム)』は『ウィンドウ』のことであり画面のことを意味しております。Windowsのユーザーインターフェイス要素へのアクセスを提供するフレームワークと考えるのが分かりやすいです。2000年にリリースされた「.NET Framework 1.0」と共に誕生しました。後を追う形で2006年にリリースされた「.NET Framework 3.0」と共に『WPF』が誕生。

WiondowsFormsの基礎知識、特徴などを解説している記事はこちら>>

まとめ

WPFを理解するために初心者でも分かる使用環境、特徴、基礎知識などを簡単に解説させてしたいただきました。WPFを一言で表すと『ユーザインターフェース(表示、操作処理など)を開発するためツール』です。特徴として「グラフィックス(Direct3D)」「Rendering Tier」「柔軟なUIカスタマイズ」などが挙げられます。WPFについてこの記事に記載されている最低限理解をしておくようにしましょう。

案件評判
常駐する会社が、実際どんな会社で、どんな案件が動いているか詳しく知りたい。
これは常駐形態で働く方なら誰もが感じていることだと思います。 常駐の働き方をされている方は是非一度「案件評判」で案件についての評判をチェックしてみてください。