番外編 WPFとは何か?(1) | デザインってオモシロイ -MdN Design Interactive-
【サイトリニューアル!】新サイトはこちらMdNについて


番外編 WPFとは何か?
~次世代のテクノロジー、WPF~


Windows Vistaも発売され、「WPF」という言葉を頻繁に耳にします。「Vistaに搭載されているグラフィックテクノロジーを指す」、「動画や3Dを扱えるようになる」など、さまざまなことが言われていますが、まだ資料も限られる上、技術的観点から解説されたものを読んでもさっぱりわからない、という方も多いのではないでしょうか?

そうした技術的な解説文はすでに存在しているかと思いますので、ここではあえて技術的・専門的な表現をできるだけ避け、Webデザイナーをはじめとするクリエイターに向けて、より噛み砕いた表現で「WPFとは何か?」を解説していきます。

(解説:高橋良輔 ヴォイクスジャパン株式会社)

著者近影:高橋良輔
[プロフィール]
たかはし・りょうすけ
ヴォイクスジャパン株式会社勤務。汎用機系開発会社、クラサバ系システム開発会社を経て、現在は同社取締役兼CTOとしてWPF開発研究や、リッチアプリケーション開発等を主に手掛ける。
最近では、特に「今自分ができないこと」に対しての取り組みを続けられるように、日夜努力を続けている。
http://www.voix.co.jp/

新時代のリッチプラットフォームWPF


WPF(Windows Presentation Foundation)と言う言葉を、ご存知でしょうか? 聞いたことはあるけれども、はたしてその実態は……?といった方が多いでしょう。

WPFを技術的な観点から正確に表現するのであれば、マイクロソフトが新しくリリースしたFrameworkである「.NET Framework3.0」のPresentationLayerを司るAPIコンポーネントで、XAML(ザムル)やXPS Documentなど新しい技術をサポートしながらも、ConpositionEngineにて各種Mediaやベクターデータをネイティブで扱えるようになった新しいFrameworkといえます。ですが、このように解説しても、即座に理解できる方は少ないと思います。

わかりやすく表現するならば、「マイクロソフトが開発した新しいテクノロジー(グラフィック サブシステム)で、Vista時代の新しいFlash的リッチプラットフォーム」といえます。

では、“Flash的”というのは、実際にFlashとどう違うの?といった疑問が浮かんでくるでしょう。

Flashの場合には、ご存知の方が大半かと思いますが、プレーヤーをインストールしさえすれば、画像、動画、音楽を同時に扱うようなリッチコンテンツの再生ができます。

WPFでは、それに加えて3Dオブジェクト(ベクターデータ)の取り扱い、及び動画の加工描画、オブジェクトの透過処理などの処理が簡単に可能となります。しかも、Windows Vistaであれば、追加ソフトは不要です。

WindowsXPの場合には、「.Net Framework3.0」というソフト(正確にはアプリケーション開発・実行環境)をインストールすれば、Vista同様のWPFで作られたコンテンツ再生ができるようになります。

更に細かい機能について後述していきますが、概要を簡単にまとめると以上のようになります。

WPFのインターフェイスデザイン=XAML


次に、WPFのインターフェイスを形作っているマークアップ言語「XAML」(ザムル)について、簡単に説明します。

XAMLとは「eXtensible Application Markup Language」の略です。XAMLは、XMLをベースにしたアプリケーション記述用言語で、アプリケーションの配置や外観を設定することができます。と説明すると、難しいものと考える方もいるかもしれません。ですが、実際のタグを見てみると、XMLというよりHTMLにより近いような印象を受ける方も多いだろうと思える、シンプルな構造をしています。

ただし、HTMLとの決定的な違いは、XAMLは単純なレイアウト情報のみではなく、ベクターデータの制御やアニメーションの制御なども可能になっており、それらを用いることで従来のタグではできなかった部分までサポートするできる点です。

そして、これまでHTMLではJavaScriptを使って実現していた動きや、Flashの場合にActionScriptを使って実現していた処理などが、XAMLを用いることでXAMLのみで完結できるようになりました。

これはデザイナーのみなさんにとって、非常に大きな意味合いを持つのではないでしょうか。

<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
<Viewbox MaxWidth="500" MaxHeight="500" StretchDirection="Both" Stretch="Fill">
<Grid >
<Ellipse Fill="#99ccff" Stroke="RoyalBlue" StrokeDashArray="3" />
<TextBlock Text="Viewbox" />
</Grid>
</Viewbox>
</Grid>


XAMLのサンプルコード(上)と、コードによって定義されたグラフィックス(下)

このように、XAML自体はWPFの中でもインターフェイスデザイン部分を司っています。そのため、XAMLはWPFの中でも一番重要なポジションを占めています。

次のページでは、より詳しくWPFについて触れていきます。
twitter facebook このエントリーをはてなブックマークに追加 RSS
【サイトリニューアル!】新サイトはこちらMdNについて

この連載のすべての記事

アクセスランキング

8.30-9.5

MdN BOOKS|デザインの本

Pick upコンテンツ

現在