
番外編 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について触れていきます。





