Insider's Eye

Longhornの機能と構造
―― PDC 2003レポート No.3 ――

3.XAMLによる宣言型のアプリケーション開発

デジタルアドバンテージ
2003/11/14

 Longhornでは、新しくXAML(Extensible Application Markup Language、ザメル)という、XMLベースの宣言型マークアップ言語が導入される。これは習得が容易なアプリケーション開発用の言語であり、WindowsアプリケーションでもWebアプリケーションでも、どちらでも簡単に作成することができる。例えば一番簡単な例である「Hello, World!」と表示するためには、次のようなhelloworld.xamlファイルを作成すればい。

<Window xmlns="http://schemas.microsoft.com/2003/xaml" Visible="true">
  <SimpleText Foreground="DarkRed" FontSize="14"> Hello, World!</SimpleText>
<Window>

 このファイルを実行すると、次のような表示が得られる。

helloworld.xamlの実行例
上記のXAMLファイルを実行すると、このようにInternet Explorer(とXAMLのレンダリング・エンジン)によって自動的に表示される。
  表示された文字列。

 この例では文字出力しかしていないが、テキスト・ボックスやボタンを作ってユーザー入力を受け付けたり、各種の図形を描画したり、ビデオを再生、描画させたり、さらにはC#やVB.NETで書かれたルーチンなどを呼び出したりすることができる。結局のところXAMLとは、Avalonやマネージ・コード(CLR)を呼び出すための宣言型の言語というのが本当のところだろう。現実的なアプリケーション開発の場面では、まずXAMLでユーザー・インターフェイスのプロトタイプを作成し、必要に応じてXAMLからマネージ・コードを呼び出すようにすることになるだろう。XAMLのコードと、そこから呼び出されるコードは分離して開発を進めることができるので(コード・ビハインド)、例えばデザイナーとプログラマーが分担してアプリケーションを開発するといった場面で効果的に利用できる。現在のWhidbey(次期VS.NET)にはXAMLをGUIベースでデザインするためのデザイン・ツールは用意されていないが、HTMLエディタなどと同様に、将来は専用のデザイン・ツールが提供されることになるだろう。

XAMLによるページ記述

 XAMLの少し変わった用途として、ページ記述言語として利用するという使い方がある。XAMLではAvalonの持つさまざまな描画機能を利用することができるが、PostScriptやPDFのように、描画位置を指定して文字を描画するコードを書けば、オンラインで見る書籍アプリケーションとして利用することもできる。Avalonはベクタ・ベースの描画機能を持つので、拡大/縮小を行ってもジャギーが出ない、きれいな表示を得ることができる。HTMLとWebブラウザでも同様のことが可能だが、利用できるレイアウト要素に制約があったりするので、この方がより印刷出版物に近いイメージを作成することができる。

 LonghornのDVD-ROMには、XAMLを使った書籍の例が何点か収録されている。以下はその例である。これは、PDC参加者にDVD-ROMとともに配布された、Longhornのプログラミング入門書を表示したところだ(PDCレポートの第1回参照)。

XAMLによって記述された電子ブック
PDCで配布されたLonghornのプログラミング入門書を、XAMLで電子ブックとして再現し、DVD-ROMに収録している。XAMLの可能性を示すための1つの見本である。
  生成されたページ・イメージ。元が書籍なので固定サイズの枠内に表示されているが、完全にフローティングの状態の電子ブック(表示ウィンドウ・サイズを変更すると、それに応じてテキストが自動的に流し込まれる電子ブック)を作成することもできる(そのようなサンプルもDVDに収録されている)。
 

表示倍率の変更。

  表示レイアウトの変更ボタン。1ページだけでなく、見開き2ページとか、横3ページ×縦2ページといったレイアウトにも簡単に変更できる。

 実際には、このページは次のようなXAMLコードによって描画されている。

XAMLで記述されたページのコード
上の画面(第3章の冒頭)部分のXAMLコードを示す。
  「Control and XAML」という文字を、サイズや位置を指定して描画している。

Windows Client Printer Driver

 XAMLの変わった使い方の例として、もう1つ「Windows Client Printer Driver」を紹介しておく。これは、XAMLのコードを出力する仮想プリンタ・ドライバであり、Longhornのアプリケーションとして用意されている。通常のWindowsアプリケーションでこのドライバへ「印刷出力」すると、GDIコマンドがXAMLのコードに変換され、ファイルに出力される(PDFファイルを出力するpdfwriterのようなもの)。これにより、アプリケーションの出力をベクタ・イメージのままキャプチャして、保存したり、譲渡したりすることができるようになる。

Windowsの新たな1ページがめくられようとしている

 以上、3回にわたりPDC2003の内容をレポートし、次世代Windowsとして開発が進むLonghornについて紹介してきた。これまで紹介してきたように、Longhornでは、ユーザー・インターフェイスが大幅に改良され、WinFXやWinFSといったさまざまな新しいシステム・インターフェイスやベース・インフラ・テクノロジが導入される。Windowsは、次なる飛躍に向け、大きなステップアップを図ろうとしているのだ。

 コンピューティングはまだまだ進歩を続ける。漠然としたものではあるが、今回のPDC2003では、次世代コンピューティングに向けた確かな胎動が感じられた。ソフトウェア開発者として、システム管理者として、そしてエンド・ユーザーとして、この次世代への変化を飛躍に結びつけられるように、Longhornの今後の動向を注視していこう。End of Article

関連記事
  革新的なOSを目指して開発が進むLonghorn(Windows Server Insider)
  次期クライアントOS「Longhorn」本格始動へ(Windows Server Insider)
  .NET開発者のためのPDC 2003レポート(Insider.NET)
     
  関連リンク
  マイクロソフト、PDC 2003において開発者にソフトウェアの革新の新たな波の具体像を示す(マイクロソフト)
  Remarks by Bill Gates, PDC 2003(米Microsoft)
     
 

 INDEX
  Insider's Eye
  Longhornの機能と構造 ― PDC 2003レポート No.3 ―
    1.Longhornファースト・ルック
    2.Longhornを支えるWinFX API
  3.XAMLによる宣言型のアプリケーション開発
 
 「Insider's Eye」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間