ツールボックス

Windows Phone 7 の開発ツールとリソース

Terrence Dorsey

Terrence Dorsey最近最も注目を集めている開発分野の 1 つがモバイル アプリケーションであることは間違いありません。スマートフォン市場は、来年 1 年間で 55% の成長が見込まれています。

マイクロソフトは、昨年、Windows Phone 7 プラットフォームを携えてモバイル デバイス競争に戻ってきました。Windows Phone 7 には、コンシューマー向けに、最新のマルチタッチ インターフェイス、電子メールとの統合、Facebook サービスと Zune サービス、趣味や仕事のアプリケーションをインストールする機能などが用意されています。開発者向けには、これまでアプリケーションを提供してきた Silverlight と Microsoft .NET Framework に基づくわかりやすいプログラミング ターゲット加え、これから増えていくと思われる新たな顧客層にアピールするための機能が用意されています。

実に簡単そうに聞こえませんか。

これまで、MSDN マガジン記事を通じて Windows Phone 7 のプログラミングに関する役立つヒントをいくつか紹介してきましたが、今回は、作業に着手し、便利で洗練されたアプリケーションを作成するのに必要なツールと情報について簡単に説明します。

話の流れからすると、すぐにでもコーディングを始めたいところですが、今回は行いません。

Windows Phone Developer Tools

Windows Phone 7 のコードを記述するのに必要な基本ツールは、Visual Studio 2010 と Windows Phone Developer Tools (microsoft.com/express/Phone、英語) です。

Windows Phone Developer Tools には、Visual Studio 2010 Express for Windows Phone、Windows Phone Emulator、Silverlight for Windows Phone、XNA Game Studio 4.0、および Expression Blend 4 for Windows Phone が同梱されています。Visual Studio 2010、XNA Game Studio、または Expression Blend 4 を既にインストールしていると、Windows Phone Developer Tools はこれらのアプリケーションについては更新のみを行い、テンプレートと Windows Phone 開発に必要なその他の要素をインストールします。

Windows Phone Developer Tools をインストールしたら、Windows Phone 開発に関する MSDN ドキュメント (bit.ly/fSYt8d、英語) を一読します。これはすばらしいリソースなので、何度も読み返すことになるでしょう。すぐにお気に入りに追加してください。

App Hub

次に、Microsoft App Hub (xbox.http://xbox.create.msdn.com) にアクセスし、アカウントを設定します。App Hub は、Windows Phone 7 用のアプリケーションやゲーム、または Xbox 360 用ゲームの開発者向けコミュニティです。ここでは、他のアプリケーション開発者が作成したツールや、開発者からのアドバイスおよびサポートが見つかります。さらに、作成したアプリケーションを Windows Phone Marketplace に公開する場合は、App Hub ダッシュボードを公式ツールとして使用することになります。

App Hub に登録するには、Windows Live ID が必要です。また、年間 99 ドルのメンバーシップ料金がかかります。

image: App Hub

図 1 App Hub

Visual Basic 開発

1 つ目の Windows Phone 開発用ツールは、コーディング言語として C# に重点を置いています。ですが、Visual Basic をお好みの方もご心配なく。Visual Studio チームは、すぐにコーディングに着手できる、Visual Basic for Windows Phone Developer Tools (bit.ly/haiyqH、英語) をリリースしています。

チームからの発表には、Windows Phone 7 用の Visual Basic アプリケーションを初めて作成するためのチュートリアルも含まれ、指示に従って単純な電卓アプリケーションを開発できるようになっています。これで言い訳はなしです。コーディングを始めましょう。

超初心者向けの Windows Phone 7 開発

まだ、何をすればよいのかよくわからない方は、Channel 9 にアクセスして、"超初心者向けの Windows Phone 7 開発" ビデオ シリーズ (bit.ly/fZJSqC、英語) をご覧ください。Clint Rutkas 氏と Bob Tabor 氏 (LearnVisualStudio.net 所属、英語) が紹介するこの 65 本の短編ビデオ シリーズでは、プラットフォームの基礎からデバッグとエラー処理に至るまで、あらゆる事柄を取り上げています。Windows Phone 7 デバイスの GPS 機能の使用といった細かい点についても学習できます。

XPF: XNA 用レイアウト フレームワーク

Windows Phone 7 の全般的な UI デザインとその組み立てには、Windows Presentation Foundation (WPF) と Silverlight を使用します。ただし、Windows Phone 7 プラットフォーム用のゲームを作成する場合は、別のレイアウト アーキテクチャを使用する XNA Game Studio (msdn.microsoft.com/aa937791) の方がお好みかもしれません。

XNA に基づくデザインを簡素化するために、Red Badger 氏が XPF (bit.ly/dMAIOA) を作成しました。XPF は、XNA を使用して Windows および Windows Phone 7 アプリケーションを作成するためのレイアウト フレームワークです。XPF フレームワークは、純正の XNA アプリケーションで動作しますが、WPF および Silverlight 開発者が理解しやすいように記述されています。11 個の組み込みのコントロールがあり、依存関係プロパティ、添付プロパティ、アニメーション、およびデータ バインドがサポートされています。さらに、XPF は独自のカスタム コントロールに適応するように拡張できます。

Windows Phone 7 アプリケーションの作成およびテストに関するその他のヒントとテクニックについては、Red Badger 氏のブログ (red-badger.com/Blog/?tag=/wp7) を参照してください。

image: Windows Phone 7 for Absolute Beginners

図 2 超初心者向けの Windows Phone 7 開発

Charles Petzold の無料電子書籍

マイクロソフトの Charles Petzold (bit.ly/enl2dg、英語) と Windows Phone 7 チームは、『Programming Windows Phone 7』(bit.ly/foFbvZ、英語) という電子書籍を共同で執筆しました。Charles Petzold は、第 5 版まで増刷された『プログラミング Windows』(アスキー、2000 年) という影響力の大きい書籍の執筆者でもあり、そのことからわかるように、『Programming Windows Phone 7』は広範なトピックを扱う決定版と呼ぶべき書籍です。この書籍が最も優れている点は、無料であることです。PDF 形式のこの書籍と、すべてのサンプル コードをダウンロードしてください。この書籍について現在行われている解説と、Windows Phone 7 開発の問題点については、Petzold のブログ (charlespetzold.com/blog/blog.xml、英語) を参照してください。

そうすると、Windows Phone のプログラミングについて今度だれかに質問されたときに、「Petzold のブログで調べてみれば」と言うことができます。

image: cover: Programming Windows Phone 7 eBook

電子書籍『Programming Windows Phone 7』

31 日間の Windows Phone 7 特集

マイクロソフトのデベロッパー エバンジェリストの Jeff Blankenburg は、前述の Channel 9 のビデオと同じ手法で、"31 日間の Windows Phone 7 特集" (bit.ly/dJ0u8k、英語) というカテゴリを自身のブログに立ち上げ、2010 年 10 月の 1 か月間、毎日 Windows Phone 7 のコーディングのさまざまな側面に関する記事を投稿しました。Blankenburg は、まず、基本のプロジェクト テンプレートを紹介し、ストレージ、UI コントロール、デバッグなどのトピックに加え、作成したアプリケーションを Windows Phone Marketplace に提出する方法やアプリケーションに広告を統合する方法といったトピックを取り上げています。

Blankenburg のブログでは、Silverlight と Windows Phone 7 開発に関する他のヒントも多数紹介されており、この "31 日間の Windows Phone 7 特集" という記事は、ロシア語とスペイン語に翻訳されています。

便利なクライアント フレームワーク

インフラストラクチャの構築またはアプリケーションへの特定機能の追加によって、フレームワークでは厄介な問題を多数取り扱う可能性があります。CodePlex で人気のある Windows Phone 7 用クライアント フレームワークとして、Caliburn Micro と nRoute があります。

Caliburn Micro (caliburnmicro.codeplex.com、英語) は、Silverlight、Windows Phone 7、および WPF 用の Caliburn (caliburn.codeplex.com、英語) フレームワークの実装で、小規模ですが、優れたフレームワークです。これらのフレームワークは、Model-View-Controller (MVC)、Model-View-Presenter (MVP)、Model-View-ViewModel (MVVM)、および Application Controller の各パターンを使用して、アプリケーションの UI を迅速かつ容易に作成できるように設計されています。

Caliburn Micro には、情報、サポート、およびサンプルを提供する活気に満ちたコミュニティがあります。まずは、devlicio.us (bit.ly/hLT7lL、英語) で公開されている "Caliburn.Micro の完全なチュートリアル" シリーズの記事を確認し、指示に従って簡単な Silverlight アプリケーションを作成してみてください。このシリーズは、リポジトリから Caliburn Micro をダウンロードするという第一歩から説明を始めています。

nRoute (nroute.codeplex.com、英語) は、Silverlight、Windows Phone 7、および WPF 用の別のクライアント フレームワークで、MVVM パターンを使用してアプリケーションを作成できます。John Thiriet 氏は、広範な一連のブログ記事 (blog.john-thiriet.com/en/、英語) で、nRoute の使用方法をフランス語と英語で解説しています。また、orktane ブログには、nRoute を使用したゲームの作成に関する優れたチュートリアルが用意されています (bit.ly/fwF9pL、英語)。

その他のヒントとテクニック

Windows Phone 7 プラットフォームのすばらしい相乗効果の 1 つとして、開発コミュニティのメンバーが次から次へと共有情報を発信していることが挙げられます。

入門ガイドから特定の開発作業に対処するためのヒントまで、あらゆる情報が共有されており、携帯電話で他の言語を実行する方法さえも公開されています。以下に、公開されているすばらしい記事をいくつか紹介します。

MobiForge

「Windows Phone 7 開発の概要」シリーズ (英語)

bit.ly/gmygUR

IE for Windows Phone チームのブログ

Targeting Mobile-Optimized CSS at Windows Phone 7 (Windows Phone 7 でモバイル用に最適化された CSS を使用する、英語)

bit.ly/h5ZJwY

Ivo Manolov

Registering Your WP7 as a Developer Device (開発者デバイスとして WP7 を登録する、英語)

bit.ly/exSPzi

Kevin Marshall

WP7 Development Tips Part 1 (WP7 開発のヒント: 第 1 部、英語)

bit.ly/fTcljh

Mike Ormond

Windows Phone 7 Screen Capture (Windows Phone 7 画面キャプチャ、英語)

bit.ly/hSraKE

MSDN マガジン

Windows Phone 7 での IronRuby

msdn.microsoft.com/ja-jp/magazine/ff960707.aspx

Terrence Dorsey は、MSDN マガジンのテクニカル エディターです。terrencedorsey.com (英語) で公開されている彼のブログを読んだり、Twitter (@tpdorsey、英語) で彼をフォローしたりすることができます。

この記事のレビューに協力してくれた技術スタッフの Luke NyswongerJoshua PartlowBrendan Mitchell、および Orville McDonald に心より感謝いたします。