開発者にとってWPFのメリットは、.NETという開発環境を活用できるという点だ。ネイティブの開発ノウハウやスキルをSilvrlightのコンテンツにそのまま活かすことができる。
またWindowsにのみ対応していることも一面では強みになる。開発対象OSをVistaとXPに絞れるほか、WindowsというOS、およびWindowsがアクセスしているハードウェア、具体的にはグラフィックカードと密接に連携が取れる仕組みになっており、OSとハードウェアの利点を活かしやすい。
その反面、OS間の拡張性に難ありと見られがちだが、Silverlightによってブラウザ上の可用性を確保している。OSごとに実行ファイルである「exeファイル」で配布するよりは、ウェブブラウザという一般的なインターフェイスをそのまま利用するという考え方だ。
Microsoftが5月にアルファテストを開始したマッシュアップツール「Popfly」も実はSilverlightで構築されている。Popflyでは、ブラウザ上で視覚的にウェブサービスを組み合わせたり、コードを記述せずに新しいアプリケーションを作成することができる。各ウェブサービスを表すブロック型のアイコンをドラッグ&ドロップで合体させるなど、Silverlightならではの3D表現を活かしている。
WPFでは2種類のコンテンツを開発できる。1つはデスクトップで動作する.exeファイル、もう一方がWPFのアプリケーションをブラウザ上で利用できるXBAP(XAMLブラウザアプリケーション)という形式のファイルだ。WPFで開発されたコンテンツはダブルクリックしてデスクトップ上で実行することも、ウェブブラウザのブックマークに登録して開くことも可能となっている。
1つのアプリケーションを開発し、その出口にexeファイルとXBAPを選ぶことができる。そういう意味でWPFはウェブアプリであり、デスクトップアプリであると言えるだろう。ちなみに、前ページで紹介したuniveRSSはexeファイルで提供されるデスクトップアプリケーションで、旭山動物園のコンテンツはブラウザから閲覧するXBAPだ。
WPFとSilverlightはその機能上、Adobeのアプリケーション実行環境である「AIR」や、ブラウザプラグイン「Flash」と対比して語られることが多い。すでに90%以上普及しているFlashを除けば、WPFとSilverlight、そしてAIRの3つの新プラットフォームが時期を同じくしてスタートを切ろうとしているからだ。
もちろんそれぞれに性質は異なるが、あえて対比するとすれば、WPFとAIRがどちらもデスクトップアプリケーションを志向したプラットフォームである点が共通する。そしてSileverlightとFlashは、ともにブラウザの表現をよりリッチにするためのプラグインである。WPFとAIRはデスクトップを、SilverlightとFlashはブラウザを活動範囲としている。
WPFとAIRには共通点もあるが、その方向性は大きく異なる。どちらもデスクトップアプリケーションを志向しているが、AIRはHTMLやJavaScriptといったウェブの標準的な技術でデスクトップアプリケーションを構築できるところが特徴であるのに対し、WPFは.NETというOSネイティブの開発環境を活かしたデスクトップアプリケーションを作成できるのが持ち味。どちらも両社の得意分野を活用しているのが明らかだ。
OSとウェブ--異なる方向から新たなデスクトップアプリケーションを生み出すプラットフォームが動き始めた。ウェブアプリケーションがあれば何もいらない? 本当にそうだろうか。これらの技術が普及すれば、デスクトップアプリケーションを起動するのが今よりも少しだけ楽しくなるかもしれない。
CNET Japanの記事を毎朝メールでまとめ読み(無料)
ZDNET×マイクロソフトが贈る特別企画
今、必要な戦略的セキュリティとガバナンス
住環境に求められる「安心、安全、快適」
を可視化するための“ものさし”とは?
ものづくりの革新と社会課題の解決
ニコンが描く「人と機械が共創する社会」