Insider's Eye

Windows XPで動作可能なAvalonプレビュー版を試す

デジタルアドバンテージ
2004/12/01
Page1 Page2 Page3

 米Microsoftは11月20日、次期Windows「Longhorn」に搭載予定の新しいグラフィック・エンジンである「Avalon」(アバロン)のCommunity Technology Preview(CTP)版を開発者(MSDN会員)に向けて公開した*。CTP版は、開発者に特定の機能をテストしてもらいフィードバックを得るためのもので、通常のベータ版よりも完成度は低いが、更新(公開)頻度はベータ版よりも頻繁で、開発者はいち早くその機能を試すことができる。

* MSDN内での分類は、[Tools, SDKs, and DDKs]−[Platform Tools, SDKs, DDKs]−[WinFX SDK - Community Technology Preview]−[WinFX SDK - Avalon - Community Technology Preview (English)]。

 今回公開されたAvalon CTP版に関する概要は、MSDNの以下のドキュメント(英文)にまとめられている。

 当初Avalonは、Longhornに搭載されるサブシステムの1つとされていたが、2004年8月に発表されたニュース・リリースでは、Avalon(とネットワーク・サブシステムである「Indigo」)がWindows XP SP2およびWindows Server 2003向けにも提供されることが伝えられた(これについてはWindows Server Insider内の「Insider’s Eye:XP SP2を曲がったら、Longhornが見えてきた」で解説されている)。

 今回のAvalon CTP版は、Windows XPおよびWindows Server 2003で動作可能なAvalonの最初のリリースであるため、実際にWindows XPにインストールして試してみた。本稿はそのレポートを中心に、Avalonについての概要を解説する。

Windows XP上で実行中のAvalonサンプル・プログラム
これらのサンプル・プログラムは、WinFX SDKに含まれている。WinFX SDKは、Avalon CTP版のインストール・パッケージに同梱されている(詳細後述)。

Avalonとは?

 Avalonとは、2006年に提供が予定されている次期Windows「Longhorn」におけるサブシステムの1つであり、画面描画のためのAPIを新しく統一したものである。

 現在Windowsでは、ユーザー・インターフェイスや画面の描画は、主にDLLライブラリである「GDI」および「GDI+」によって行われる。.NET Frameworkでは、これらのDLLライブラリをベースにしたクラス・ライブラリが用意されている。これには、Windowsアプリケーションで使用されるフォームやコントロール(ボタンやテキストボックスなど)を描画するためのクラスも含まれている。またゲームやマルチメディア用途では、ハードウェアの機能を活用できる「DirectX」が使われる。DirectX 9.0では、.NET用のクラス・ライブラリも用意されており、C#やVB.NETプログラムからDirectXのAPIが使用可能だ。

 Avalonは、これらの描画機能を一新し、グラフィックス、ドキュメント、メディア、ユーザー・インターフェイスなどを生成、表示、操作するための統一されたプログラミング・インターフェイスを開発者に対して提供する。具体的には、Avalonは次の2つによって構成される。

●描画エンジンである「Avalonエンジン」
 AvalonエンジンはDirectXをベースに描画を行うため、ハードウェアの能力を最大限に引き出すことができる。例えば、Avalonの機能の1つであるベクター・ベース*の描画では、画面の解像度に依存しない描画が可能であり(ディスプレイの解像度を最大限に生かした描画が可能)、描画に関するハードウェア・サポートがあれば、それが利用される。

* ベクター描画では、点座標を結ぶ線や面により画像を表現するので、ドットの羅列で画像を表現するビットマップ描画と違い、画像を拡大・縮小してもその画質が維持される。

●.NET Framework用のクラス・ライブラリ
 Avalonエンジンをベースに構築された.NET用(マネージ・コード用)のクラス・ライブラリでは、現行の一連のコントロールとは別に、「Avalonコントロール」がクラス・ライブラリとして提供され、Windowsアプリケーションで利用できる。このAvalonコントロールには、シェイプ(図形の描画)、ドキュメント(高品質なテキスト表示)、イメージ、ビデオ、アニメーション、3D、パネル(コントロールを配置するためのコントロール)などがある。これらに加えて、後述するXAML(ザムル)ベースのプログラミングをサポートするためのクラス・ライブラリも含まれている。

Windows XPにAvalonをインストールしてみる

 上述したように、今回のAvalon CTP版は、Windows XP SP2あるいはWindows Server 2003にインストールして利用可能だ。ここでは、日本語版のWindows XP SP2の環境にインストールしてみた。

 今回MSDNで公開されたファイル(isoファイル)には、次の3つが含まれており、これらを順にインストールしていく。

  • .NET Framework 2.0 ベータ1(ダウンロード・センターからもダウンロード可能)
  • Avalon CTP版(Avalonエンジンとクラス・ライブラリ)
  • WinFX SDK(ドキュメント、サンプル・プログラム、ツール)

 Avalon CTP版は.NET Framework 2.0 ベータ1上で動作するため、まずそれがインストールされていなければならない。

 次の画面は、Avalon CTP版(AVALON.MSI、ファイルのサイズは約5.5MBytes)のインストール開始画面だ。

Avalon CTP版のインストール開始画面

 これをインストールすれば、Avalonの機能を利用した.NETアプリケーションが実行可能となる。ちなみに、主なファイルは「C:\WINDOWS\Microsoft.NET\Windows\v6.0.4030」にインストールされた。

 添付されているインストール・ガイドでは、本来なら次にVisual Studio 2005 ベータ1をインストールすることになっているが、今回はすでにVisual Studio 2005 ベータ1がインストールされた環境で試している(それでも特に問題はないようである)。

 最後に、WinFX SDK(正式には「Microsoft WinFX SDK - "Avalon" Community Technology Preview Edition」)をインストールする。

 WinFXは、Longhornに登載される新しいAPIセットの名称である。現在のWin32 APIと.NET Frameworkクラス・ライブラリを統合し、さらにAvalonやIndigoなどの新しいクラス・ライブラリが追加されたものと考えればよいだろう。WinFX SDKはその開発キットであり、ドキュメントやサンプル・プログラムが含まれているが、ここで提供されているWinFX SDKはAvalonに特化したバージョンである。次の画面は、そのセットアップ開始画面である。

WinFX SDKのインストール開始画面

 WinFX SDKには、AvalonのAPIを中心としたリファレンス・マニュアルが含まれているが、同じ内容のものがWeb上でも公開されており、次のリンクから参照できる。

 また、Visual Studio 2005 ベータ1がインストールされていれば、WinFX SDKのインストールにより、C#やVisual Basic .NETでAvalon用のテンプレート(「Avalon Application」「Avalon Control Library」「Avalon Browser Application」「Avalon Navigation Application」)が新規プロジェクトとして選択できるようになる。

 次のページでは、WinFX SDKに含まれるいくつかのサンプル・プログラムの実行画面を紹介する。

 

 INDEX
  Insider's Eye
  Windows XPで動作可能なAvalonプレビュー版を試す
  1.Avalonとは? / Windows XPにインストールしてみる
    2.サンプル・プログラムで見るAvalonの機能
    3.XAMLベースの新しいプログラミング・モデル
 
 Insider's Eye


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間