Insider's Eye
|
|
米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 |
- 第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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|