エンジニアとデザイナの架け橋となるMicrosoft Expression(デザイナ視点)
Windows Presentation Foundation(WPF)とは?
Windows VistaではWinFXという新しいAPIが提供され、そこでは画面表示のコントロールをWindows Presentation Foundation(開発コードネームAvalon。以下、WPF)と呼ばれるサブシステムが担当する。Windows Vistaでは画面に表示されるもの、ウィンドウ、ボタンやスクロールバー、あるいは写真や文字をこのWPFによって表示できる。
WPFはWindows XPでも動作可能であるが、Windows XP単体よりも進化した表示機能を提供することで、アプリケーションのユーザインターフェースをよりリッチに、よりユーザビリティが高くできることを念頭に置かれて開発されている。主な視覚効果的として、透過表示や3D、アニメーションもサポートされている。
内部的にはXAML(eXtensible Application Markup Language)という、XMLを拡張したマークアップ言語を用いている。これはWebサイトがHTMLやCSSなどの言語によって記述され、Webブラウザがコードを解釈して内容を表示しているのと同じことだと思えばよい。
XAMLには各グラフィックスやアニメーション、レイアウトなどに関する情報がすべて格納されており、WPFはそれを読み込んで画面に表示するものである。
WPFとXAMLを語る上でデザイナにとって重要なことは、この先進的な表示機能がWindows Vistaに限定されたものではないということである。WPFはこの先のコンピューティングの世界、そしてWebの世界に大きな変化をもたらすべきものとしての位置づけがされている。
WPFがWebに変化をもたらす?
圧倒的なシェアをもつとはいえ、1つのプラットフォームである次期Windowsの表示機能がWebの世界に変化をもたらす理由は、表1の3つのポイントにまとめられる。
- 進化した表示機能を提供しているということ
- WPFの表示機能はWebサイトの構築にも利用でき、さらにはMac OS XやLinuxなどのほかのプラットフォームやWebブラウザでも利用可能ということ
- 制作工程の効率アップをはかれる可能性を秘めていること
より進化したグラフィックス環境の提供
WPFが提供するグラフィックス環境はWindows XPに比べて大きく進歩した。その代表的なものが透過表示や3D表示、アニメーションのサポートなどである。Developers Conferenceでは、病院用システムを想定したサンプルアプリケーションで各患者の情報をカルテのようにまとめ、各カルテを3次元空間中に配置した。
また、何人かの患者の心電図や脈拍など複数のグラフを透過表示を利用して重ねて表示することで比較し、ボタンやオブジェクトがアニメーションするデモなどを披露していた。また、WPFはベクトルベースの描画機能をもつため、文字を含めたグラフィックスの拡大/縮小にも強い。
Web上で、そしてほかのプラットフォームでも利用できる
WPFの表示機能は、Windows Vistaのみに利用範囲を限定したものではない。例えば、新バージョンのInternet ExplorerではXAMLで記述されたWebページを読み込んで表示することが可能である。
そのため、視覚効果を含めてWPFで実現している表示機能をすべて利用したWebサイトを構築することもできる。さらに重要なことは、Windows XPやMac OS X、LinuxといったWindows Vista以外のプラットフォーム、そして新バージョンのInternet Explorer以外のWebブラウザ、Firefox/Safari/Operaなどでも利用可能だということだ。
これは、各プラットフォーム用に用意される、「WPF/E(Windows Presentation Foundation Everywhere)」というソフトウェアによって実現される。
制作工程の効率もアップする可能性が大
マイクロソフトはWPFとともに「Expression」という、グラフィックやWebデザイン、そしてアプリケーションのインターフェースデザインを行うためのソフトウェア製品群も発表している。
Expressionで作成したデザインはXAMLフォーマットを利用してVisual Studioなどの開発環境と共有できるという点がポイントとなる。そのため、デザイナは自分の作成したデザインをそのままインターフェースにでき、プログラマー側はインターフェースにロジックを組み込んでいくだけでアプリケーションを開発できるため、お互いの工数をかなり減らせていける。