SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

C#たんと学ぶ/わりと硬派なソフトウェア開発講座

C#たんと学ぶ わりと硬派なソフトウェア開発講座
番外編「Windows Phone 7」

C#たんと学ぶ わりと硬派なソフトウェア開発講座(5)

Windows Phone 7 開発環境

C#たん トーク
さて、開発者にとって気になるのはWindows Phone 7対応のアプリケーション開発だと思います。今回は、Windows Phone 7のアプリケーション開発について、紹介しちゃいます。
C++たん 納得
もちろんVisual Studioを使って開発できるのよね。
vbたん 笑顔
開発に必要なツール一式が無償で入手できるから、すぐにでも開発を始められるわねー。

※開発環境「Windows Phone SDK 7.1」

 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がインストールされます。

Windows Phone SDK 7.1の導入
Windows Phone SDK 7.1の導入

 ちなみに、よく勘違いされるんですが、無償版(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は提供されています。

C#たん トーク
このように、Windows Phone 7アプリケーションはC#やVBを使って開発することができ、.NET Frameworkの高い生産性を享受できるのです。これまで.NET Frameworkでアプリケーションを開発していたならば、そのソフトウェア資産の多くを利用することもできるでしょう。
C++たん 驚き
え!あれ!? ちょっと待って。私は? C++で開発するにはどうするのかしら。
C#たん 残念
・・・・・・・
VBたん 悲しい
・・・・・・・
C++たん 驚き
いや。だって、ほら。パフォーマンスとか。ゲーム作るのに私が必要でしょ。DirectXとか使えるわよね? Windows APIはどうするのよ。
C#たん 目閉じ
残念ながら、.NET Framework上での動作が必須なのです。様々なハードウェア上での互換性、ネイティブコードで保証するのは難しいですからねぇ…
vbたん トーク
Windows Phone 7アプリケーションがWindows Mobileと互換性がない理由がこれね。
C++たん 苦笑
あぁ、私の仕事がまた一つ減るのね。

 アプリケーションのデバッグにはWindows Phone SDK 7.1に付属しているエミュレーターを利用できます。

Windows Phone 7のエミュレーター
Windows Phone 7のエミュレーター

 このエミュレーターが非常に優秀で、(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です。

Windows Phone 7の構造
Windows Phone 7の構造

次のページ
Silverlight

この記事は参考になりましたか?

C#たんと学ぶ/わりと硬派なソフトウェア開発講座連載記事一覧

もっと読む

この記事の著者

C#たん ソフトウェア開発講座 制作委員会(シーシャープタン)

ソフトウェアに求められる要求の高度化とともに大きくなる開発者への負担を、開発ツールやフレームワーク、時には萌え力を頼りに軽減できないか考えるプロジェクト。C#たんは単なるマスコットかと思いきや、割と毒舌。自分のことは棚に上げて、「萌えればいいってもんじゃないですよ?」が信条。twitter: @cs...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/6179 2011/10/04 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー