.NET Framework 3.0とは
Windows Vistaがいよいよ発売となりましたが、Vistaで追加されたさまざまな機能の土台となっているのが.NET Framework 3.0です。.NET Framework 3.0(旧称 WinFX)は、.NET時代のOSが提供する新たなAPIセットで、以前のWin32 APIのような関数指向のモデルではなく、オブジェクト指向の.NETライブラリとして提供されます。
.NET Framework 3.0の実体は、.NET Framework 2.0をベースとし、それにWPF(Windows Presentation Foundation)、WCF(Windows Communication Foundation)、WF(Windows Workflow Foundation)、WCS(Windows CardSpace)を追加したものとなっています。
それぞれのコンポーネントは、次のような機能を持っています。
コンポーネント名 | 略称 | 機能 |
Windows Presentation Foundation | WPF | 3DグラフィックをサポートしたGUIコンポーネント |
Windows Communication Foundation | WCF | さまざまな通信方式を統一的に扱うための通信コンポーネント |
Windows Workflow Foundation | WF | Windows向けの共通ワークフローコンポーネント |
Windows CardSpace | WCS | ユーザーのデジタルIDを統一的に管理するためのコンポーネント |
.NET Framework 3.0はWindows Vistaにプリインストールされていますが、.NET Framework 3.0自体はVista専用ではなく、Windows XP Service Pack 2、および、Windows Server 2003 Service Pack 1にもインストールすることができるので、現状の環境でも開発/テストすることができます。
既に.NET Framework 3.0は正式版がリリースされており、WPF、WCF、WFを使用したアプリケーションを開発するためのVisual Studio 2005 Extensionsがリリースされています。ただし、WFをサポートするVisual Studio 2005 Extensions for WFは正式版ですが、WPF、WCFをサポートするVisual Studio 2005 Extensions for WCF、WPFは英語のベータ版のみがリリースされています。
このシリーズではWPF、WCF、WFについて、Visual Studio 2005 Extensionsを用いたプログラミングを紹介していきます。シリーズ第1回となる本稿では、WPFの概要と、.NET Frameworkを用いた開発環境の設定について説明します。
対象読者
C#でプログラミングを行ったことがある方を対象としています。
WPFの特徴(歴史的な経緯)
WPF(コードネーム:Avalon)は.NET FrameworkのGUI部分を司るコンポーネントです。
これまでWindowsのGUI機能を提供してきたGDIは、2DをベースとしたGUIのみをサポートしていたため、3Dを用いたGUIを実現するには、別コンポーネントであるDirectXを使用する必要がありました。DirectXを使ったプログラミングは通常の2Dプログラミングに比べて敷居が高いため、多くのコンピュータに強力な3D性能を持つGPUが搭載されているにもかかわらず、Windowsの標準UIを含め、ほとんどのアプリケーションでは3Dを用いたGUIが使用されていませんでした。
そのため、2Dと3Dを統合した新しいGUIコンポーネントが必要とされており、Windows Vistaの登場に合わせて準備されたのがWPFです。WPFは2Dと3Dの両方を扱うことができ、また関数ベースのAPIであるGDI・COMインターフェイスに依存していたDirectXとは異なり、.NETベースのライブラリとなっています。Windows Vistaのエクスプローラでは3D機能を用いたさまざまな画面効果がアピールされていますが、こうした機能はWPFで実現されています。