Windows Phone Developer Toolsのベータ版を試してみました。一番の目的は、Windows Phone 7がどんな感覚のOSになるのかをエミュレータで知った気分になることです 🙂
まずはWindows Phone Developer Toolsをダウンロードし、インストールしました。Windows Phone 7アプリを作るのに必要なツール類(Visual Studio 2010 Express for Windows Phone、Expression Blend for Windows Phoneなど)も同梱されており、インストール後にVisual Studio 2010 Express for Windows Phoneを起動すると初期画面にチュートリアルのウェブページへのリンクなどが表示されます。とりあえず、そのチュートリアルに従ってSilverlight for Windows Phoneのお試しアプリを作ってみたところ、非常に簡単に作成できました。なお作成したアプリだけでなくエミュレータでOS自体の使用感を確認しましたが、個人的には良い印象です。ただ開発用のエミュレータだからか、IEぐらいしかアプリが無く、電話帳などもありません。電話機としての使用感や「ハブ」というモノの使用感を試してみたい!と期待していた私的には少し残念でした…もちろん勝手に期待する方が悪いのですが 😉
さて開発の話です。Windows Phone 7用アプリは基本的に二種類に分類されます。Silverlightアプリか、XNAアプリです。後者はゲーム用フレームワークなので、ゲーム向けです。その他のアプリについてはSilverlightで作るのが基本となります。Windows Phone 7向けのSilverlightはVersion 3をベースに専用の機能を加えたものらしいですね。ということは、Silverlight 4の新機能であるクリップボードアクセスとローカルファイルアクセスは使えないということでしょうかね。まあ、特に前者はずいぶん前から言われていたことなので驚くことも無いですが。
ところで、今頃になって知ったのですがMSDNには次の記述があります。
WPF での表示はすべて DirectX エンジンによって実行されるようになっています。
なるほどWPFのサブセットで描画しているSilverlightがあれだけなめらかなアニメーションを表示できているのは、やっぱりハードウェアアクセラレーションが効いているからなのですね。そしてGDIではなくDirect X。納得です。コンピュータ画面は96 dpiしか無いと考えて良かった昔はピクセルを描画基準にしているGDIで何も不自由ありませんでしたが、高いDPIを持つデバイスが増えている今、描画単位がピクセルでは正直厳しいと思っていました。急速に、GDIは過去の遺物になりつつあると感じてしまいますね。まあピクセルが描画単位になっている上に事実上ハードウェアアクセラレーションが効かないGDI+に比べれば、GDIは素晴らしいモノですが。
…まったく、AzukiでGDI+ (System.Drawing.Graphics) を使わなくて本当に良かった… 😐