本企画では、マイクロソフトの「Windows 7 アプリ投稿キャンペーンで取り上げられているWindows 7の新機能を紹介している。今回は、「高度なグラフィック」に分類されている「DirectX」、「WPF(Windows Presentation Foundation)」、「Silverlight 4」の3つのプラットフォームについて触れていく。

※ 現在11月30日が締め切りとなっている「Windows 7 アプリ投稿キャンペーン」だが、関係者の話によると「キャンペーンページを見た開発者の方から期間の延長を求める声が多い」ようで、延長が検討されている。投稿を考えている方はキャンペーンページを適宜チェックしてほしい。

これらのプラットフォームはいずれも知名度が高く、改めて説明を受けるまでもないとお思いの方もいらっしゃるかもしれないが、バージョンアップに伴って新機能が追加されているものもあるので、以下、簡単にご紹介しておこう。なお、取材の中では「Windows 7 アプリ投稿キャンペーン」に簡単に参加できる裏技も説明されたので、ぜひ参考にしてほしい。

本稿と併せて以下の記事もご覧ください

【レポート】こんな機能もあったの!? Windows 7の開発者向け新機能(2) シェル統合編
【レポート】こんな機能もあったの!? Windows 7の開発者向け新機能(1) ハードウェア編

GPUの恩恵を多くのユーザーに! IE9でも使われているDirectX

マイクロソフト デベロッパー&プラットフォーム統括本部 UX&クライアントプラットフォーム推進部 UXエバンジェリスト 川西裕幸氏

DirectXにはさまざまなコンポーネントが含まれているが、Windows 7に搭載されているバージョンの注目はDirect3DとDirect2Dになる。

Direct3Dはその名の通り、3Dのグラフィクスを扱うためのコンポーネントになる。Windows 7では、「Direct3D 11」というバージョンが同梱されている。11の特徴の1つは、エミュレーション機能が追加され、Direct3D 9などの古いバージョンを使用したアプリケーションも動作できるようになったこと。前バージョンのDirect3D 10.1では、Direct3D 9以前のアプリケーションを実行できなかったが、Direct3D 11を搭載するWindows 7ではそれらも実行できるようになっている。

※ Windows 7以前のOSでもDirect3D 11のインストールは可能。

一方、「Direct2D」は今回新たに追加されたコンポーネントになる。Windows XPまでで使用されていた「GDI(Graphics Device Interface)」に代わる2D描画APIとして用意されており、GPUによるアクセラレーションが可能などの特徴がある。すでに提供されている「Internet Explorer 9」のβ版でも利用されており、有名な「FishIE Tank」のデモはこの機能を強調するためのものだ。

実は、このほかにもDirectXには非常に多くの新機能が追加されているのだが、基本的にゲームなどの高度なプログラミングが必要な分野で使われるものなので、詳しく説明しようとすると煩雑になる。そのため、興味のある方にはMSDNなどで調べてもらうことにしてここでは割愛するが、注目すべきは、後述するWPFからも一部の機能を呼び出すことができる点だ。

「DirectXは、ネイティブのAPIとして提供されており、基本的にC++やCOM(Component Object Model)を使って実装することになる。3Dの本格的なアプリを作るとなると、面を1つ描くのに100行かかることもあるが、WPFから利用できるAPIも用意しているので、DirectXの簡単な機能を使う程度であればそちらで実装することができる」(マイクロソフト デベロッパー&プラットフォーム統括本部 UX&クライアントプラットフォーム推進部 UXエバンジェリスト 川西裕幸氏)

WPFのDirectX機能の主な用途としては、医療系アプリケーションなどが挙げられる。医療向けのアプリケーションは、基本的に通常の業務アプリケーションと大差ないが、内臓などの画像を確認するケースがあるという特徴がある。その際に、DirectXの機能を使って3D表示することで、分析がしやすくなるといった利点が生じる。

以上がWindows 7に搭載されたDirectXの大まかな特徴になるのだが、キャンペーンへの応募という点を考えると、やはりDirectXはほかよりもややハードルが高いかもしれない。ただし、そこには裏技もある。それを次の節でご紹介しているので、ぜひそちらをご覧いただきたい。

WPFアプリがあれば新機能を使っていなくても投稿せよ!

UX & クライアントプラットフォーム推進部のアーキテクチャーエバンジェリスト 高橋忍氏

WPFは、ご存知のとおり、Windows Formに代わるUI描画技術である。.NET Frameworkの一部を構成しており、「XAML(Extensible Application Markup Language)」と呼ばれるマークアップ言語でコーディングすることができる。「Microsoft Expression Blend」などの開発ツールを使えば、高度なUIを持つアプリケーションも簡単に実装することができる。

Windows Formと比べると、WPFにはさまざまな利点がある。リッチなUIを実現できる点はその最たる部分だろう。グラデーションや半透明が使えたり、イラストレータのようなドロー系の表現を取り入れたりできるほか、動画や音声などのメディアを再生したり、立体オブジェクトにテキストや動画を貼りつけて動かしたりといったことも可能になっている。

また、ハードウェア編でも紹介したタッチ用のコンポーネントが充実している点も大きな特徴の1つだ。「WPFであればマウスに対応していれば自然とタッチにも対応することになるのだが、Windows Formに関してはそのようにならないものもある」(マイクロソフト デベロッパー&プラットフォーム統括本部 UX&クライアントプラットフォーム推進部 アーキテクチャーエバンジェリスト 高橋忍氏)ようなので、将来的なことを考えてタッチインタフェースに対応したアプリケーションにしておこうと考えているなら必然的にWPFという選択肢になる。

「表現力に大きな違いがあるし、開発も簡単。さらには、デザインとロジックを明確に分離できるといった特徴もあるので、古いバージョンのWindowsで動作させなければならない場合を除いては、WPFを活用するべき。WPF向けにリボンインタフェースを提供する『Microsoft Ribbon for WPF』も先日リリースされたし、WPFアプリケーションをWebブラウザ上で実行できる『WPF XAMLブラウザアプリケーション』といった機能もあるので、ぜひWPFを積極的に使用してほしい」(高橋氏)

なお、お気づきの読者もいらっしゃるかもしれないが、今回のキャンペーンでは、このWPFと先述のDirectXに関しては、従来から提供されている技術であるにもかかわらず、バージョン名が記載されていない。すなわち、新たに追加された機能の使用を強制されているわけではないのである。したがって、すでにWPFやDirectXを使ったアプリケーションをお持ちであれば、Windows 7での動作確認をするだけで、キャンペーンに投稿することができる。キャンペーンに投稿されたアプリケーションはすべてMicrosoftのWebサイトで紹介されるため知名度が向上するうえ、Xbox 360などが当たるプレゼントキャンペーンにも自動的にエントリーされるので、対応アプリをお持ちの方は投稿してみるとよいだろう。

また、Expression Blendや「Microsoft Visual Studio」には、機能制限なしで90日間利用できる無料体験版も用意されている。そちらを使えば比較的簡単に開発できるので、これを機に試してみるというのもよいだろう。

デスクトップと変わらぬ機能を実現できるSilverlight 4

マイクロソフト デベロッパー&プラットフォーム統括本部 UX&クライアントプラットフォーム推進部 デベロッパーエバンジェリスト 大西彰氏

Silverlightは、WPFの記述言語でもある「XAML」を使ってUIを実装することができるWebアプリケーション向けの技術になる。PCのみならず、ノキアのスマートフォーンをはじめとするさまざまなプラットフォームに対応している。初めて登場したのは2007年9月。HTLMの表現力に限界があるとの考えから、それを補うプラットフォームとして開発された。現在の最新版は2010年4月にリリースされた「Silverlight 4」になる。

キャンペーンの詳細を見ると、この技術に関しては「Silverlight 4」と、バージョン名までが記されている。したがって、Silverlight 4の新機能を利用する必要があるようだ。

では、Silverlight 4の新機能にはどんなものがあるのか。大きな柱の1つとしては、「業務アプリケーションに必要な機能のサポート」(マイクロソフト デベロッパー&プラットフォーム統括本部 UX&クライアントプラットフォーム推進部 デベロッパーエバンジェリスト 大西彰氏)が挙げられるようだ。具体的には、データアクセス部分の実装が簡単になったほか、クリップボード、マウスホイール、右クリックなどが利用可能になっている。さらに、COMオートメーションをサポートしており、ローカルPCのファイルにアクセスしたり、印刷処理を直接実行したりできるようになっている。

また、Webブラウザ外(Windowsデスクトップ上)で実行できるようになった点や、Webカメラ、マイクに対応した点もSilverlight 4の大きな特徴として挙げられる。加えて、画像の拡大縮小をなめらかに行う「Deep Zoom」、ストレスの少ないメディア再生を実現する「Smooth Streaming」といった、アプリケーションの使い勝手を向上させる機能も追加されている。

このようにSilverlight 4は新機能が豊富なだけに、業務効率化に役立つアプリケーションからエンターテイメント性の高いアプリケーションまで、アイデア次第でさまざまなアプリケーションが実現できる。とは言え、キャンペーンへの投稿を考えている開発者からすると、幅が広すぎるのもかえって困りものだろう。

そこで、開発者のインスピレーションを刺激するようようなアイデアをお願いしたところ、大西氏からは、「Silverlight 4のデモでは、マイクの機能を使ったアプリで、息を吹きかけると風鈴が鳴り、吹きすぎると爆発して花火が打ちあがるものなどが話題になった」といったエピソードや、「これからの季節を考えると、さまざまな絵柄を適用できる年賀状アプリケーションを用意して、それをプリンタで印刷できるようにするのも良いのでは」といった案が披露された。

そのほか、デザインが簡単なSilverlightならではの例として米Netflixの「Instant Watch」が紹介されたほか、米国MSDNのSilverlightのサンプルページにさまざまなアプリケーションが公開されていることなども説明された。興味のある方は参考にするとよいだろう。

米NetflixのInstant Watch

なお、インタビューでは、Silverlight 4が「Windows Phone 7」に対応することも強調された。マイクロソフト デベロッパー&プラットフォーム統括本部 UX&クライアントプラットフォーム推進部 部長の長坂一則氏は、「すでにWindows Phone向けのマーケットプレイスが提供されているので、今からSilverlightアプリの開発に慣れておけば、Windows Phone 7の日本語版がリリースされたときに、素早く対応することができる。大きな収益をあげることも夢ではないし、世界にチャレンジすることも可能」とコメントし、開発者にさまざまなメリットがもたらされることを説明した。

「Windows 7 最新機能実装アプリケーション開発セミナー」開催へ


マイクロソフトでは今回の「Windows 7アプリ投稿キャンペーン」に連動したセミナーを11月11日に開催する。同セミナーでは、マイクロソフトのエバンジェリストたちにより、本稿でも取り上げたようなWindows 7の新機能の概要や実装方法がひととおり解説される予定だ。

セミナーの概要は以下のとおり。

■日程: 2010年11月11日(木) 13:00~17:10(12:30 開場/18:00 閉場)
■参加費: 無料(事前登録制)
■会場: マイクロソフト 新宿本社 5F セミナールーム A・B
■定員: 80名 (定員になり次第、登録締め切りとなります)
■対象: Windows 開発者、Web 開発者

詳細および申し込み方法はこちらのWebサイトにて確認してほしい。