コードジンのヘッダーが入ります Developers Summit 2008:セミナーレポート
【14-B-2】Visual Studio 2008 と Expression Blend で構築する WPF アプリケーション
Visual Studio 2008とExpression Blendで構築するWPFアプリケーション
高橋 忍氏
マイクロソフト株式会社 デベロッパー&プラットフォーム統括本部
パートナーテクノロジー推進本部 プラットフォームエバンジェリズム推進部
.NET Frameworkのプレゼンテーション基盤、WPFは、2Dおよび3Dオブジェクトの描画、ベクトルグラフィックス、ラスタグラフィックス、アニメーション、音声および動画の再生などの表現手法を統一的に利用することができるテクノロジだ。これまでの静的なアプリケーションを視覚的で動的に作り変えることができ、ユーザーエクスペリエンスを一新する事を可能にしている。

VS2008とExpression Blendの連携で開発オブジェクトのリソース化で作業を効率化

マイクロソフトはWindows Vistaのリリースに合わせ、ユーザーの体験、つまりユーザーエクスペリエンスという概念の重要性をアピールしてきた。そこで求められているのは「コンピュータを使って何かをしたい」というユーザーの衝動を削がず、より加速することだ。「そこでポイントとなるのは直感的に操作できるユーザーインターフェース(UI)」と、マイクロソフトの高橋忍氏は強調する。

しかし、優れたUIを考案できるデザイナーの多くにはビジネスロジックを開発する技術力が無く、開発者はデザインセンスに乏しいという現実があり、両者のコラボレーションには数々の障害があった。そこで登場したのがWindows Presentation Foundation(WPF)というテクノロジだ。「10年来のGDIベースのプレゼンテーションテクノロジに、初めて新しい技術が入った」(高橋氏)というわけだ。

WPFではバックグラウンドの部分はVBやC#で開発し、UIはXMLベースの定義言語XAML(Extensible Application Markup Language)で書く(図1)。両者を連携させるプラットフォームがVisual Studio 2008とExpression Blendだ。
Expression Blendは、主にXAMLによるデザインを担う。画面構成はすべてレイアウトを基本に考える。デザインのためのさまざまな手法が用意されているが、高橋氏のオススメはGridレイアウトだ。オブジェクトは必要に応じて階層化することができる。また、ウィンドウサイズに応じて中のUIが追随する。その結果、画面サイズにかかわらず、各ユーザーが同じように自分の使いやすいウィンドウで操作できるようになっている。

面白い機能の1つにオブジェクトのデータを連係させる「データバインド」がある。たとえばスライダーとUIの構成要素のプロパティを紐づけ、動かしたスライダーの数値をテキストボックスに表示したり、図形を変形させたりすることも可能だ。また、ネットワーク上からRSSのデータを拾ってきて表示する、RSSリーダーを作成することもこの機能で実現できる。
デザインを効率的に行うための便利な仕組みがスタイル、テンプレート、リソースだ。たとえばスタイルは、ボタンのデザインやトリガーなどの動的要素を定義づけておき、まとめて再利用する仕組みだ。個々のプロパティだけではなく、オブジェクトのUI全体を定義しておくのがテンプレートになる。両者の定義項目はリソースとして格納されている。高橋氏は「作成したオブジェクトをリソース化することをぜひ覚えてほしい」と話す。

また、Expression Blendに3Dオブジェクト作成機能は無いが、インポートして利用することができる。バーチャルのカメラを動かして視線を変えることも可能だ。そのほか、プロパティを時間変化させることで、さまざまなタイムラインアニメーションを作成する機能も搭載されている。

Expression Blendには動的な処理をするためのコード編集機能は無い。機能を持たせたいオブジェクトをダブルクリックするとVisual Studioが開き、ロジックを書くことができる。Expression Blendで作成したプロジェクトをVisual Studioで開くことも可能だ。

それでは実際の開発では、どちらのツールでスタートすればいいのか。高橋氏は「基本的にVisual Studioで始めることを勧めたい」という。そこで基本設計やプロジェクト管理を行い、そこにデザイン担当者がExpression BlendでUIを構築して戻す、というイメージだ。高橋氏は「内容に合わせてツールを使い分けることが大切」と強調し、セッションを終了した。

図1:コラボレーション開発モデル
問い合わせ先
マイクロソフト株式会社
〒151-8583東京都新宿区西新宿3-20-2
オペラシティタワー
TEL 0120-41-6755
URL http://www.microsoft.com/japan/msdn/vstudio

コードジンのフッターが入ります