Windows Phone のアプリケーション プラットフォームの概要

2012/02/09

Windows Phone Application Platform を使用すると、開発者は、Windows® Phone 上で動作する魅力的なコンシューマー エクスペリエンスを作成することができます。これは、Visual Studio、Expression Blend®、Silverlight®、XNA Framework など、既存の Microsoft® のツールとテクノロジに基づいて構築されています。これらのテクノロジと関連するツールに既に慣れ親しんでいる開発者は、習得に時間をかけずに Windows Phone 用の新しいアプリケーションを作成することができます。このトピックは、次のセクションで構成されています。

Windows Phone Application Platform には、アプリケーション開発用の 2 つのフレームワークがあります。

  1. 開発者がクリエイティブなマークアップベースのユーザー エクスペリエンスとリッチ メディア アプリケーションを開発できるようにする、イベントドリブンの XAML ベース アプリケーション開発用の Silverlight フレームワーク。

  2. 没入型の楽しいゲームとエンターテイメント エクスペリエンスを実現する、ループベース ゲーム用の XNA Framework。

Windows Phone 7.5 で、Silverlight フレームワークと XNA フレームワークを 1 つのアプリケーションに融合することが可能になりました。

Windows Phone Application Platform は、以下のコンポーネントを提供することで、開発者のアプリケーション作成を支援します。

  • 使い慣れた低価格のツールセット。

  • 統合的かつ適切に設計されたマネージ API セット。

  • 各アプリケーション用の独立したサンドボックス。

  • Xbox LIVE®、Windows Azure、位置情報サービス、通知サービスなど、クラウドの Web サービスへのアクセスに使用できるデバイス上のランタイム サービス。Web でのサードパーティ製 Windows Communication Foundation (WCF) および Representational State Transfer (REST) サービスへのアクセスもサポートされています。

  • アプリケーションを配信するための Windows Phone Marketplace。

多くのプラットフォームと同様に、Windows Phone Application Platform は時間の経過と共に継続して進化しますが、以下のものを提供することを常に目標としています。

  • 高度に標準化されたプラットフォーム用に開発される、より多機能なアプリケーション。

  • 複数のデバイス間での個人データおよび接続されたコンシューマー データのサポート。

  • 完全なエンドツーエンド ライフサイクル管理用の堅牢な開発者ポータルおよびアプリケーション マーケットプレース。

  • 強力かつ生産的な開発ツール。

Windows Phone Application Platform は、コンシューマーのマルチスクリーン環境をサポートするように設計されています。

今日のコンシューマーはさまざまなスクリーンとデバイスを使用していますが、すべてが平等に重要であり、またすべてがクラウドにより結び付けられます。クラウドは関連する情報をまとめて接続し、ユーザーがデバイスからデバイスに移動しても必要な情報をユーザーに提供します。共通のユーザー エクスペリエンスによりデバイス間での移動が容易になり、また共通の開発プラットフォームによりすべてのデバイスの種類向けのアプリケーション開発が容易になります。

ページのトップへ

Windows Phone Application Platform のアーキテクチャは、4 つの主要なコンポーネントから構成されています。

  1. ランタイム – Silverlight と XNA Framework は、Windows Phone 固有の機能と共に合同で、安全でグラフィック表現が豊かなアプリケーションを構築する土台となる成熟した環境を提供します。

  2. ツール – Visual Studio と Expression Blend、および関連するツールとドキュメントは、アプリケーションを迅速に作成、デバッグ、配置、および更新するための完全な開発者向け環境を提供します。

  3. クラウド サービス – 他のさまざまな Web サービスと共に、Windows Azure、Xbox LIVE サービス、通知サービス、および位置情報サービスを使用すると、開発者は、クラウドでデータを共有し、コンシューマーが使用しているすべてのデバイスでシームレスなエクスペリエンスを提供することでコンシューマーに利益をもたらすことができます。サードパーティの Web サービスへの接続も完全にサポートされています。

  4. ポータル サービス – Windows Phone Marketplace は、開発者がアプリケーションを登録、認定、および市場展開できるようにする堅牢なサービスを提供します。

ページのトップへ

ランタイム

Silverlight と XNA Framework を使用すると、すべての開発はマネージ コードで行われ、安全かつセキュリティで保護されたアプリケーションの迅速な開発を可能にする保護されたサンドボックスで行われます。現在、Silverlight や XNA Framework 用に書かれたアプリケーションは、画面サイズやデバイス固有の機能など、数少ない点を調整するだけで Windows Phone で動作します。

Windows Phone 固有のコーポーネントと共通基本クラス ライブラリと共に、2 つのフレームワークが、開発者がアプリケーションを構築する土台となる数多くのコンポーネントを提供します。

  • Silverlight - Silverlight は、リッチ インターネット アプリケーション スタイルのユーザー インターフェイスの作成に理想的なフレームワークです。Windows Phone Silverlight アプリケーションは、ページのセットを介して UI を公開します。Windows Phone のビジュアル スタイルと調和した Windows Phone のコントロールを使用すると、UI の外観と操作性を強化することができます。

    Visual Studio または Expression Blend は、XAML ベースのインターフェイスのデザインに使用できます。Visual Studio を使用すると、メディア リッチ Silverlight ライブラリまたは共通基本ライブラリにより提供される基本機能を利用することで、アプリケーション ロジックを実装することができます。詳細については、「Windows Phone 用の Silverlight および XNA Framework」を参照してください。

  • XNA Framework - XNA Framework は、ゲーム開発者が Microsoft のゲーム プラットフォームで適切に開発を行えるようにすることに重点を置いた、ソフトウェア、サービス、およびリソースから構成されています。Microsoft は、Windows Phone、Xbox 360、Zune HD、および Windows 7 などのプラットフォームでプロの開発者が迅速にゲームを実現できるようにするテクノロジを提供しています。XNA Framework は、ゲーム開発用のマネージ API の完全なセットを提供します。これには、回転、スケーリング、伸縮、およびフィルタリングをサポートする 2D スプライトベースの API だけでなく、3D ジオメトリ、テクスチャ、および標準的なライティングとシェーディング用の 3D グラフィック API も含まれます。

    Windows Phone 7.5 で、Silverlight フレームワークと XNA フレームワークを 1 つのアプリケーションに融合することが可能になりました。詳細については、「Windows Phone 用の Silverlight および XNA Framework」を参照してください。

  • センサー - さまざまなセンサーが、開発者により処理することができるデータを返します。たとえば、API によってマルチタッチ入力、加速度計、コンパス、ジャイロスコープ、およびマイクのセンサーにアクセスすることができます。詳細については、「Silverlight のタッチ入力」、XNA Framework のタッチ入力」、または「Windows Phone のセンサーの概要」を参照してください。

  • メディア – Silverlight と XNA Framework の両方は、グラフィックス、アニメーション、およびメディアを統合した豊富なユーザー エクスペリエンスを構築するためのプログラミング モデルを開発者に提供します。マネージ API はさまざまなメディア形式をサポートし、デバイス上でのメディアの検出と列挙、およびメディアの再生を実現します。詳細については、「Windows Phone 用のメディア」を参照してください。

  • データ - 分離ストレージにより、アプリケーションは、サンドボックス化された独立した仮想フォルダーでデータを作成および維持することができます。すべての I/O 操作は、分離ストレージに限定され、基本のオペレーティング システムのファイル システムには直接アクセスしません。これにより、他のアプリケーションによる権限のないアクセスやデータ破損が防止されます。

    構造化データは、リレーショナル データベースに格納可能で、LINQ to SQL を使用してアクセスすることができます。

    詳細については、「Windows Phone の分離ストレージの概要」または「Windows Phone のローカル データベースの概要」を参照してください。

  • 位置情報 - Windows Phone 用の Microsoft Location Service を使用すると、アプリケーション開発者は 1 つの API からユーザーの物理的な位置情報にアクセスすることができます。開発者は、現在の位置情報の照会、Location Changed イベントへのサブスクライブ、必要なデータの精度の設定、デバイスの方位と速度へのアクセス、地点間の距離の計算を行うことができます。電話上の位置情報 API は、位置情報クラウド サービスと連携して動作します。詳細については、「Windows Phone の場所」を参照してください。

ページのトップへ

ツール

開発者は、Windows Phone 用のアプリケーションの開発を始めるために必要なすべてのツールが含まれるパッケージをダウンロードしてインストールすることができます。

Visual Studio がまだインストールされていない場合は、Visual Studio 2010 Express for Windows Phone がインストールされます。

Visual Studio がインストールされている場合は、Visual Studio へのアドインがインストールされます。

Windows Phone SDK のダウンロードとインストールの詳細については、「Windows Phone SDK のインストール」を参照してください。

  • Visual Studio 2010 - Visual Studio は、Windows Phone アプリケーションを構築するための IDE です。Visual Studio IDE 内で、開発者は Windows Phone 上で動作する Silverlight または XNA Framework のプログラムを作成することができます。Visual Studio には、デザイナー、デバッガー、プロジェクト システム、パッケージャー、およびマニフェスト生成が含まれます。詳細については、「Visual Studio 2010 Express for Windows Phone」を参照してください。

  • Expression Blend - Expression Blend を使用してデスクトップ ブラウザー向けのリッチ インターネット アプリケーションを設計するのと同じ方法で、デザイナーは Windows Phone 上でクリエイティブかつユニークな Silverlight ベースのアプリケーションを設計することもできます。Expression Blend for Windows Phone を使用すると、デザイナーは Windows Phone アプリケーション用の XAML ベースのインターフェイスを作成することができます。開発者は、このようなアプリケーションの動作を Visual Studio で実装することができます。詳細については、「Expression Blend」を参照してください。

  • Windows Phone エミュレーター - Windows Phone エミュレーターは Visual Studio と Expression Blend に統合されているので、アプリケーションのテストとデバッグがより簡単かつ効率的になります。エミュレーターは、アプリケーションの配置、デバッグ、およびアプリケーションの実行を完全にサポートしています。また、GPU エミュレーションと向きの変更のサポートが含まれます。詳細については、「Windows Phone Emulator」を参照してください。

  • XNA Game Studio - Microsoft XNA Game Studio は統合デザイン環境です。開発者はこれを使用すると、Microsoft Windows®、Microsoft Xbox 360® ビデオ ゲームおよびエンターテイメント システム、Microsoft Zune®、および Windows Phone 向けの楽しくエキサイティングなゲームを構築することができます。XNA Game Studio は Visual Studio のツールを拡張することで、XNA Framework をサポートします。XNA Framework は、ゲーム開発のタスク専用の機能が含まれる、マネージ コード クラス ライブラリです。また、Microsoft XNA Game Studio にはゲームにグラフィックとオーディオのコンテンツを組み込むためのツールが含まれています。詳細については、「XNA Game Studio」を参照してください。

  • サンプル、ドキュメント、ガイドおよびコミュニティ - Windows Phone での開発を準備する開発者を支援するためのドキュメント、ハウツー ガイド、サンプル コード、およびサンプル アプリケーションが提供されています。大規模な Windows Phone コミュニティで開発者が質問したり情報を共有することができる、フォーラム、ブログ、および Web サイトが利用できます。新しい Visual Studio のヘルプ システムでは、開発者は継続的にドキュメント セットを更新することができます。詳細については、App HubWindows Phone Blogs、または Windows Phone 7 フォーラムを参照してください。

ページのトップへ

クラウド サービス

Windows Phone Application Platform には、Web に統合された魅力的なアプリケーションを構築するためのさまざまな機能が用意されています。Windows Phone も強力で機能が豊富ですが、クラウドによりさらに強力になります。クラウド サービスは常にオンの状態で、スケーラビリティが高く、より多くの機能を搭載することができ、またバッテリーの寿命に依存しません。Azure またはサードパーティの Web サービス上に構築されたサービスにアクセスすると、電話にデータを転送することができます。Windows Phone Marketplace は、開発者がアプリケーションの認定を行いコンシュマーに対して配信するための手段を提供します。

  • 通知 - 効率的、動的、および最新の情報チャネルと通信チャネルを実現するため、Windows Phone Application Platform には API が用意されていて、関連するイベントが発生した時点でサービスがユーザーに通知することができます。これによりポーリングが不要になり、バッテリー消費量が少なくなります。詳細については、「Windows Phone のプッシュ通知」を参照してください。

  • 位置情報クラウド サービス - 位置情報クラウド サービスは電話の位置情報 API と連携するため、開発者はその存在を意識せずに済みます。このサービスでは、Wi-Fi、携帯ネットワーク、および GPS のデータを使用して、場所検索を実現するための単一の情報源を提供します。GPS の修正を向上させるための Assisted GPS (AGPS) が利用できます。詳細については、「Windows Phone の場所」を参照してください。

  • ID、フィード、ソーシャル、およびマップのサービス - クラウドの多種多様な Web サービスを使用すると、コンシューマーは、自分の身元証明を行い、ソーシャル コミュニティとやり取りし、データ フィードを受信し、ナビゲーション用にマップを使用することができます。開発者は、これらのサービスを使用する新しいアプリケーションを提供することで、豊かな操作性を実現することができます。詳細については、「Windows Phone のネットワークと Web サービスの概要」を参照してください。

  • Windows Azure - Visual Studio 2010 は、Microsoft のデータ センターでホストされるインターネット規模のクラウド コンピューティングおよびサービス プラットフォームである Windows Azure™ プラットフォームを使用する開発環境をアプリケーションの作成用に提供します。Windows Azure プラットフォームは、コンシューマー Web からエンタープライズのシナリオに渡るアプリケーションを構築するための幅広い機能を提供し、クラウド オペレーティング システムと一連の開発者サービスを搭載しています。Representational State Transfer (REST) や Simple Object Access Protocol (SOAP) などの業界標準と Web プロトコルのサポートを通じて完全な相互運用性を実現しているため、Azure のサービスを個別に使用することもまとめて使用することもでき、新しいアプリケーションを構築したり、既存のアプリケーションを拡張したりすることができます。詳細については、「Windows Azure」を参照してください。

  • Microsoft Advertising SDK for Windows Phone - Microsoft Advertising からの広告を含めることで、Windows Phone のアプリケーションやゲームで収益を得ることができます。Microsoft Advertising SDK for Windows Phone を使用すると、次のことを実行できるアプリケーションを作成できます。

    • テキストおよびバナー広告を簡単にアプリケーションやゲームに統合する。

    • 広告スペースを購入するために複数の販売チャネルがリアルタイムで競合するしくみを活用して、アプリ内の広告収入を最大化する収益化ソリューションを提供する。

    • ユーザーに最も関連性の高い広告を提供するために、さまざまな広告対象化機能を提供する。

    • インプレッション レポートをシームレスに処理する。

ページのトップへ

ポータル サービス

Windows Phone Marketplace は、開発者がアプリケーションの申請および認定を行うための一元的な場所を提供します。コンシューマーは、アプリケーションを購入または更新する一元的な場所として使用できます。

  • 登録と検証 - 開発者は、Live ID を使用して登録することで、App Hub の使用を開始することができます。登録が完了した後、開発者は 1 回のダウンロードで必要なツールをすべて入手することができます。

  • 認定、公開、および更新の管理 - 一連のツールにより、開発者は Windows Phone Marketplace 用にアプリケーションの申請と認定を行うことができます。アプリケーションは .xap ファイル形式で申請されます。基本的にこのファイルは、アプリケーションで必要なすべてのファイルが含まれる 1 つの圧縮ファイルです。開発者は申請のステータスを追跡し、認定が完了したら通知を受け取ることができます。アプリケーションが認定された後、Windows Phone Marketplace での公開を申請することができます。開発者は価格を設定し、アプリケーションを公開するマーケットを選択することができます。

    開発者が、バグの修正、新機能の追加、またはまったく新しいバージョンのアプリケーションの提供を行う場合は、認定と公開のプロセスを再度行う必要があります。

  • Windows Phone Marketplace および課金 - Windows Phone Marketplace は、開発者がコンシューマーにアプリケーションを販売できる単一の場所を提供します。携帯電話会社とクレジット カード両方による課金がサポートされているため、コンシューマーによるアプリケーションに対する支払いは非常に簡単になっています。

  • ビジネス インテリジェンス - ビジネス インテリジェンス ツールは、アプリケーションに関する情報レポートを開発者に提供します。

ページのトップへ

このセクションでは、開発サイクルの開始から終了まで、開発者が Windows Phone Application Platform を使用する方法について説明します。

App Hub の使用の開始

App Hub は開発者の出発点となります。開発者は Windows Live ID に登録することで開発を始めることができます。次に、開発者は登録すると、Visual Studio と Expression Blend を使用してアプリケーションを開発するための、Windows Phone SDK と関連するライセンス素材を入手することができます。この操作は 1 回のダウンロードで済み、Windows Phone 用のアプリケーションを構築するために開発者が必要とするすべてのものが含まれています。開発者は、構築するアプリケーションの検証でテスト ハードウェアとして使用する電話を 1 つまたは複数登録することもできます。テスト デバイスとして、任意の市販の Windows Phone を登録することができます。

App Hub には、Windows Phone の開発者の成功を支援する、サンプル、ドキュメント、およびアクティブな開発者コミュニティが含まれています。

アプリケーションの設計とアプリケーション パッケージの作成

開発者が登録して Windows Phone の開発者になり、開発者用ツールをインストールしたら、アプリケーションの開発を始めることができます。

ゲームと、グラフィックス中心のアプリケーションは、XNA Framework の 2D および 3D ライブラリを使用して Visual Studio で作成します。

Silverlight 用の XAML ベースのアプリケーションのビジュアル デザインは、Visual Studio と Expression Blend の一方または両方で作成します。その後、マークアップが含まれる作成された XAML ドキュメントは、Silverlight プレゼンテーション エンジンと、Windows Phone Application Platform の他のコンポーネントによって解釈されます。

Windows Phone 7.5 で、Silverlight フレームワークと XNA フレームワークを 1 つのアプリケーションに融合することが可能になりました。詳細については、「Windows Phone 用の Silverlight および XNA Framework」を参照してください。

すべての Windows Phone アプリケーションの視覚上の動作を定義するマネージ コードを記述するには、Visual Studio IDE を使用します。アプリケーションが完成したら、アプリケーションで必要なすべての要素が含まれるパッケージを作成します。

アプリケーションのデバッグ

Windows Phone アプリケーションの作成中、開発者は電話または Windows Phone エミュレーターでプログラムをデバッグすることができます。アプリケーションのデバッグには、デバッグ プラットフォームを対象としたパッケージの作成と、Visual Studio を使用したパッケージの配置が含まれます。コール スタック ウォーク、式の評価、ソース コード ステッピング、変数ウォッチ ウィンドウはすべてサポートされています。

アプリケーションの公開

アプリケーションが完成したら、開発者は Windows Phone Marketplace で他のユーザーがプログラムを利用できるようにすることができます。Windows Phone Marketplace に公開するには、開発者は .xap ファイルを送信します。.xap ファイルは、アプリケーションが必要とするすべての情報が含まれる圧縮ファイルです。これには、アプリケーション アイコン、スタート タイル、メタデータ、およびプログラムの使用方法を決定するライセンス条項が含まれます。

次に、開発者は App Hub にサインインし、認定を受けるためにアプリケーション パッケージを申請します。これは、コンシューマーがアプリケーションを使用できるようにするための唯一の方法です。認定プロセスでは、アプリケーションが正しく動作し、指定された言語とマーケットで機能し、電話の全般的な健全性に悪影響を及ぼさないことが検証されます。

パッケージが Windows Phone Marketplace の認定の要件を満たせば、開発者は通知を受け、App Hub を通じてアプリケーションを Windows Phone Marketplace に公開することができます。続いて、アプリケーションは Windows Phone Marketplace でコンシューマーがダウンロードできるようになります。クレジット カードと携帯電話会社による課金処理がサポートされています。

公開されたアプリケーションの管理

Windows Phone アプリケーションが Windows Phone Marketplace に公開された後、開発者は App Hub を使用して購入できるアプリケーションのバージョンを管理します。

ページのトップへ

表示: