Windows Phone 7 開発環境
![]() |
さて、開発者にとって気になるのはWindows Phone 7対応のアプリケーション開発だと思います。今回は、Windows Phone 7のアプリケーション開発について、紹介しちゃいます。
|
![]() |
もちろんVisual Studioを使って開発できるのよね。
|
![]() |
開発に必要なツール一式が無償で入手できるから、すぐにでも開発を始められるわねー。
|
Windows Phone 7アプリケーションの開発にはWindows Phone SDK 7.1が必要です。旧バージョンではWindows Phone Developer Toolsと呼ばれていましたが、名称が変更されたので混同しないように注意してください。
統合開発環境にはVisual Studioが使われます。Visual Studio 2010 Professional以上のエディションがインストールされていれば、Windows Phone SDK 7.1をインストールした後、プロジェクトのテンプレートが追加されています。Visual Studioがインストールされていない場合、無償版のVisual Studio 2010 Express for Windows Phoneがインストールされます。
ちなみに、よく勘違いされるんですが、無償版(Express)のVisual Studioで作ったアプリケーションも、商用提供(有料で販売)してもかまいません。有償版(Professional)の強化点は、チーム開発やテスト自動化に関する機能が多く、1人で小さなアプリケーションを作る分には無償版で十分でしょう。
Windows Phone 7アプリケーション開発時の注意点
Windows Phone 7のアプリケーションは完全に.NET Frameworkを実行基盤としています。.NET Frameworkがサポートする広範囲の機能を、Windows PC用のアプリケーション開発と同じように利用できます。正確には.NET Frameworkの全機能ではなく、モバイル環境用の.NET Compact Frameworkを利用しています。
一方でWindows Phone 7のアプリケーションは、CPUネイティブな実行可能形式で配布することはできません。つまり、C++など、ネイティブコードにコンパイルされる言語は使えず、C#やVBなど、.NET Framework上で動く言語が必須です。もちろん、C#などから、カメラや各種センサーなど、OS固有の機能にアクセスするAPIは提供されています。
![]() |
このように、Windows Phone 7アプリケーションはC#やVBを使って開発することができ、.NET Frameworkの高い生産性を享受できるのです。これまで.NET Frameworkでアプリケーションを開発していたならば、そのソフトウェア資産の多くを利用することもできるでしょう。
|
![]() |
え!あれ!? ちょっと待って。私は? C++で開発するにはどうするのかしら。
|
![]() |
・・・・・・・
|
![]() |
・・・・・・・
|
![]() |
いや。だって、ほら。パフォーマンスとか。ゲーム作るのに私が必要でしょ。DirectXとか使えるわよね? Windows APIはどうするのよ。
|
![]() |
残念ながら、.NET Framework上での動作が必須なのです。様々なハードウェア上での互換性、ネイティブコードで保証するのは難しいですからねぇ…
|
![]() |
Windows Phone 7アプリケーションがWindows Mobileと互換性がない理由がこれね。
|
![]() |
あぁ、私の仕事がまた一つ減るのね。
|
アプリケーションのデバッグにはWindows Phone SDK 7.1に付属しているエミュレーターを利用できます。
このエミュレーターが非常に優秀で、(PCの性能が条件を満たしていれば)実機と同じようにスムーズに反応してくれます。また、加速度計やGPS情報などを使ったアプリケーションのテストにも、疑似データを入力することで対応できます。
2つの開発フレームワーク
Windows Phone 7のアプリケーション実行基盤は、モバイルなど限られたコンピュータ環境で動作させることを目的とした.NET Compact Frameworkをベースとしています。.NET Compact Frameworkは.NET Frameworkから必要な機能だけを取り出したサブセットです。.NET Compact Frameworkは各プログラミングで共通する型など、基本的な機能のみを提供しています。
Windows Phone 7アプリケーションは、この.NET Compact Frameworkをベースとする2つのフレームワークを用いて開発します。ボタンなどのいわゆるコントロールを配置するタイプの一般的なアプリケーション開発を対象としたSilverlightと、動きのあるゲームを対象としたXNA Frameworkです。











