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

更新日: 2010 年 11 月 11 日

注: このトピックにはリリース前の情報が含まれており、今後のリリースで変更されることがあります。空白のトピックは、プレースホルダーとして含めています。"Beta" は Windows Phone Developer Tools の現バージョンを、"テクニカル プレビュー" は Windows Phone OS 7.0 と Windows Phone 7 の現バージョンを指します。

2010 年 7 月 7 日

Windows Phone アプリケーション プラットフォームを利用すると、開発者は豊かなユーザー エクスペリエンスを提供するアプリケーションを作成して、Windows® Phone 上で動作させることができます。このアプリケーション プラットフォームは、Visual Studio、Expression Blend®、Silverlight®、XNA Framework など、既存の Microsoft® ツールとテクノロジを基盤に構築されています。多くの開発者はこうしたテクノロジや関連ツールを既に使いこなしているため、多くを学ぶことなく、Windows Phone 向けに新しいアプリケーションを作成できます。ここでは、次のトピックについて紹介します。

  1. 概要
  2. アーキテクチャ
    • ランタイム - "クライアント" 用
    • 開発ツール
    • クラウド サービス
    • Marketplace
  3. アプリケーション開発ライフサイクル

1. 概要

Windows Phone アプリケーション プラットフォームでは、アプリケーション開発用に次の 2 つのフレームワークを用意しています。

  1. Silverlight フレームワーク: イベントドリブン型で XAML ベースのアプリケーション開発向けのプラットフォーム。開発者はクリエイティブなユーザー エクスペリエンスをマークアップ ベースで開発できます。
  2. XNA Framework: ループベースのゲームに適したプラットフォーム。より高いクオリティを持ったゲームやエンターテイメントを体験できます。

Windows Phone アプリケーション プラットフォームを利用すると、開発者はアプリケーションの作成に、以下のものを活用できます。

  • 使い慣れたツール セット (無償で提供)
  • 豊富でかつ、しっかりと設計されたマネージ API のセット
  • アプリケーションごとに独立したサンドボックス
  • デバイス上のランタイム サービス
    • これらのサービスを使用すると、Xbox LIVE®、Windows Azure、ロケーション サービス、通知サービスなどの Web サービスへクラウドを通じたアクセス
    • サードパーティ製の Windows Communication Foundation (WCF) サービスや Representational State Transfer (REST) サービスへの Web 経由でのアクセス
  • アプリケーションを配布するための Windows Phone Marketplace

Windows Phone アプリケーション プラットフォームは、ほぼすべてのプラットフォームと同様、絶えず進化を続けていますが、次のことを実現するという目標は常に変わりません。

  • 高度に標準化されたプラットフォーム向けに機能豊富なリッチ アプリケーションを開発・提供する
  • 複数のデバイス上で個人データや、接続している利用者のデータをサポートする
  • エンド ツー エンドのライフサイクルを完全に管理するため、堅牢な開発者ポータルやアプリケーション マーケットプレースを用意する
  • 強力で生産性の高い開発ツールを提供する

Windows Phone アプリケーション プラットフォームは、利用者がさまざまなデバイスから利用できるようにデザインされています。

図 1

現在は、さまざまな画面やデバイスが利用されるようになり、利用者から見ればどのデバイスも重要なので、こうしたデバイスはクラウドを使ってすべて結び付けられるようになってきています。クラウドを利用すれば、関連する情報がすべて結び付けられ、ユーザーがデバイスを替えても、必要な情報がすべて提供されるようになります。ユーザー エクスペリエンスを共通にすることで、デバイスからデバイスへの移動を用意にし、開発プラットフォームを共通にすることにより、あらゆる種類のデバイス向けのアプリケーションの開発を容易にしています。

ページのトップへ


2. アーキテクチャ

Windows Phone アプリケーション プラットフォームのアーキテクチャは、次の 4 つの主要コンポーネントから構成されます。

図 2

  1. ランタイム - "クライアント" 用 - Silverlight と XNA Framework に Windows Phone 固有の機能を付加。これらを組み合せることで、セキュリティが確保されたグラフィカルなリッチ アプリケーションを構築するための成熟した環境を実現しています。
  2. 開発ツール - Visual Studio と Expression Blend、および関連ツールとドキュメント。これらを使用することで、アプリケーションをすばやく作成、デバッグ、配置、更新するための完全な開発者エクスペリエンスを作り出しています。
  3. クラウド サービス - Windows Azure、Xbox LIVE サービス、通知サービス、ロケーション サービスなどのさまざまな Web サービス。これらのサービスを利用することで、開発者はクラウド経由でデータを共有できます。また、どのようなデバイスを使用していてもシームレスなエクスペリエンスが実現されるため、利用者にとっても多くのメリットがあります。サードパーティ製の Web サービスへの接続も完全にサポートされます。
  4. Marketplace - Windows Phone Marketplace。開発者がアプリケーションを登録、認定、販売できる堅牢なサービスを提供しています。

ページのトップへ

ランタイム - "クライアント" 用

Silverlight と XNA Framework では、すべての開発が、保護されたサンドボックス内で、マネージ コードを使用して行われるため、安全性が高く、セキュリティが確保されたアプリケーションを迅速に開発できます。現在の Silverlight または XNA Framework 向けに作成されたアプリケーションは、画面のサイズやデバイス固有のセンサーなどを微調整するだけで、Windows Phone 上で動作します。

この 2 つのフレームワークを、Windows Phone 固有のコンポーネントや共通基本クラス ライブラリと併用すれば、開発者はアプリケーションの構築に非常に多くのコンポーネントを利用できるようになります。

図 3

  • Silverlight - リッチ インターネット アプリケーション形式のユーザー インターフェイスの作成に理想的なフレームワークです。Windows Phone Silverlight アプリケーションでは、ページ セットを通じて UI を公開します。つまり、開発者がアプリケーションに実装するページを増やせば、アプリケーションの機能も増加します。Windows Phone ビジュアル スタイルに適合する Windows Phone のコントロールを使用すれば、UI のルック アンド フィールが強化されます。

    XAML ベースのインターフェイスをデザインする場合は、Visual Studio または Expression Blend を使用します。Visual Studio を使用すると、さまざまなメディアに対応する Silverlight ライブラリを利用したり、共通基本ライブラリで提供される基本機能を活用して、アプリケーション ロジックを実装できます。詳細については、「Windows Phone 向けの Silverlight と XNA Framework (英語)」を参照してください。

  • XNA Framework - 開発者がマイクロソフトのゲーム プラットフォーム上でゲームの開発ができる、ソフトウェア、サービス、およびリソースから構成されています。マイクロソフトは、商用アプリケーションの開発者が Windows Phone、Xbox 360、Zune HD、Windows 7 などのプラットフォーム上でのゲームをスムースに実現できるテクノロジを提供しています。XNA Framework には、ゲーム開発用のマネージ API 一式が用意されています。これには、回転、拡大縮小、伸縮、フィルター処理をサポートする 2D スプライトベースの API と、3D のジオメトリ、テクスチャ、標準の光源とシェーディング用の 3D グラフィック API が含まれます。詳細については、「Windows Phone 向けの Silverlight と XNA Framework (英語)」を参照してください。
  • センサー - さまざまなセンサーから、開発者が利用できるデータが返されます。マルチタッチ入力、加速度計、マイク センサーなどには、すべて API を通じてアクセスできます。詳細については、「マルチタッチ入力」、「ユーザー入力への応答」、または 「Windows Phone 向け加速度計の概要 (英語)」を参照してください。
  • メディア - Silverlight および XNA Framework では、グラフィック、アニメーション、およびメディアを組み込んだリッチ ユーザー エクスペリエンスを構築するための統一プログラミング モデルが、開発者向けに用意されています。マネージ API では、さまざまなメディア形式がサポートされ、デバイス上のメディアの検出と列挙や、そのメディアの再生が可能です。詳細については、「Windows Phone 向けのメディア (英語)」を参照してください。
  • データ - 分離ストレージを使用すると、アプリケーションはサンドボックス化された分離仮想フォルダーに、データを作成および保管できます。すべての I/O 操作は分離ストレージに制限されるため、オペレーティング システムのファイル システムに直接アクセスすることはありません。そのため、他のアプリケーションからの未承認アクセスやデータの破損を防ぐことができます。詳細については、「Windows Phone 向け分離ストレージの概要 (英語)」を参照してください。
  • ロケーション - Microsoft Location Service for Windows Phone を使用すると、アプリケーションの開発者は 1 つの API からユーザーが実際にいる位置の情報にアクセスできます。開発者は、現在位置の照会、位置変更イベントの購読、希望するデータ精度の設定、デバイスのヘッダー情報や速度情報へのアクセス、地点間の距離計算などが可能です。携帯電話の Location API は、クラウドのロケーション サービスと連携する予定です。詳細については、「Windows Phone 向けロケーション (英語)」を参照してください。

ページのトップへ

開発ツール

開発者は、必要なすべてのツール、ドキュメント、およびサンプルを含む、1 つのパッケージをダウンロードしてインストールするだけで、Windows Phone 向けアプリケーションの開発に着手することができます。

Visual Studio 2010 (英語版) をインストールしていなければ、Visual Studio 2010 Express for Windows Phone がインストールされます。

Visual Studio 2010 (英語版) をインストールしていれば、Visual Studio 2010 Express for Windows Phone と共に、Visual Studio のアドインもインストールされます。開発者は使用するツールを選択することができます。

  • Visual Studio 2010 - Windows Phone アプリケーションを構築するための統合開発環境 (IDE) です。Visual Studio IDE 内で、開発者は Windows Phone 上で実行する Silverlight プログラムまたは XNA Framework プログラムを作成できます。Visual Studio には、プロジェクト システム、パッケージャー、マニフェスト生成、デザイナー、およびデバッガーが備わっています。詳細については、「Visual Studio 2010 Express for Windows Phone (英語)」を参照してください。
  • Expression Blend - デザイナーは、デスクトップ ブラウザー向けのリッチ インターネット アプリケーションを設計するのと同じ方法で Expression Blend を使用して、クリエイティブでユニークな Silverlight ベースのアプリケーションを Windows Phone 上で設計できます。デザイナーが、Expression Blend for Windows Phone を使用して Windows Phone アプリケーション向けに XAML ベースのインターフェイスを作成し、開発者がVisual Studio を使用してアプリケーションの動作を実装します。詳細については、Expression Blend に関する Web サイトを参照してください。
  • Windows Phone Emulator - Visual Studio や Expression Blend に統合され、アプリケーションのテストとデバッグを簡単かつ効率的に行えるようにします。このエミュレーターは、アプリケーションの配置、デバッグ、および実行を完全にサポートします。また、GPU のサポート、デバイスの向き、電話の "スキン変更" もサポートします。詳細については、「Windows Phone Emulator (英語)」を参照してください。
  • XNA Game Studio - 開発者が Microsoft Windows®、Microsoft Xbox 360® ビデオ ゲームとエンターテイメント システム、Microsoft Zune®、および Windows Phone 向けに、より高いクオリティを持ったゲームを構築するために使用可能な、統合開発環境です。XNA Game Studio では、XNA Framework をサポートするよう Visual Studio ツールを拡張しています。XNA Framework は、特にゲーム開発タスクをターゲットにした機能を含むマネージコード クラス ライブラリです。さらに、XNA Game Studio には、グラフィック コンテンツやオーディオ コンテンツをゲームに組み込むためのツールもあります。詳細については、XNA Game Studio に関する Web サイト を参照してください。
  • サンプル、ドキュメント、ガイド、およびコミュニティ - Windows Phone 開発に着手する開発者を支援するために、ドキュメント、手引書、サンプル コード、およびサンプル アプリケーションを用意しています。フォーラム、ブログ、および Web サイトを活用して、Windows Phone の優れたコミュニティに質問を投稿したり、情報を共有したりすることができます。新しい Visual Studio ヘルプ システムでは、開発者がドキュメント セットを絶えず更新できます。詳細については、Windows Phone 開発者ポータルWindows Phone 7 のブログ (英語)、または Windows Phone 7 フォーラムを参照してください。

ページのトップへ

クラウド サービス

Windows Phone アプリケーション プラットフォームには、魅力的な Web 統合アプリケーションを構築するための多くの機能が用意されています。Windows Phone はそれだけでも強力かつ豊富な機能を備えていますが、クラウドと連携すればさらに強力になります。クラウド サービスはいつでも利用でき、拡張性が高く、多くの機能が含まれています。そして、バッテリ切れを起こす心配がありません。Windows Azure™ 上に構築されたサービスやサードパーティ製の Web サービスにアクセスすれば、データを携帯電話に配信できます。Windows Phone Marketplace では、開発者がアプリケーションを公開して利用者に配布する手段を提供します。

  • 通知サービス - 効果的、動的、かつ最新の情報と通信チャネルを有効にするために、Windows Phone アプリケーション プラットフォームには、クラウドベースのサービスへのアクセスに使用するクライアント API を用意しています。こうした API を使用すると、アプリケーションでは関連イベントの発生時に通知を受け取ることができます。これにより、ポーリングの必要がなくなり、バッテリ消費量が減少します。詳細については、「Windows Phone 向けのプッシュ通知 (英語)」を参照してください。
  • クラウドのロケーション サービス - クラウドのロケーション サービスと携帯電話の Location API は連携する予定です。その結果、開発者は特に意識することなくロケーション サービスを使用できるようになります。ローケーション サービスは、Wi-Fi、移動体通信、および GPS のデータを使用して、位置検索を実現するための単一のソースを提供します。Assisted GPS (AGPS) は、GPS の補正精度を高めるために利用できます。詳細については、「Windows Phone 向けロケーション (英語)」を参照してください。
  • ID、フィード、ソーシャル、およびマップの各サービス - クラウド内には、利用者が自身の身元を証明し、ソーシャル コミュニティと対話し、データ フィードを受け取り、ナビゲーションのために地図を利用できる、多数の Web サービスが存在します。開発者は、こうしたサービスを使用する新しいアプリケーションを提供することによって、操作性を高めることができます。詳細については、「Windows Phone 向け Web サービス (英語)」を参照してください。
  • Azure - Visual Studio 2010 には、Windows Azure™ Platform を使用してアプリケーションを作成するための開発環境が用意されています。Windows Azure™ Platform は、マイクロソフトのデータ センターでホストされる、インターネット規模のクラウド コンピューティング サービス プラットフォームです。Windows Azure™ Platform には、コンシューマー Web のシナリオからエンタープライズ シナリオまで、さまざまなアプリケーションを構築するための一連の機能が用意され、クラウド オペレーティング システムや開発者向けの一連のサービスも含まれています。業界標準のサポートや、Representational State Transfer (REST) や Simple Object Access Protocol (SOAP) などの Web プロトコルのサポートを通じて完全な相互運用を可能にしているため、Azure サービスを個別に使用したり、組み合わせて使用したりすることで、新しいアプリケーションを構築することも、既存のアプリケーションを拡張することも可能です。詳細については、Windows Azure の Web サイトを参照してください。

ページのトップへ

Marketplace

Windows Phone Marketplace では、開発者によるアプリケーションの公開と審査を集中管理します。また、利用者は、ここからアプリケーションを購入したり、更新したりします。

  • 登録と検証 - 開発者はまず、Microsoft アカウント (旧 Windows Live ID) を使用して開発者ポータルにサインアップします。そこで登録が完了したら、1 回のダウンロードで必要なツールをすべて入手できます。
  • 認定、公開、および更新管理 - この一連の手続きを行い、開発者は Windows Phone Marketplace にアプリケーションを提出して認定を受けることができます。アプリケーションは .xap ファイル形式で提出します。.xap ファイルは、シンプルな圧縮ファイルで、アプリケーションで必要なすべてのファイルを含みます。開発者は、提出状態を追跡して、認定完了後に通知を受け取ることができます。認定されたアプリケーションは、Windows Phone Marketplace に公開することができます。価格の設定や、アプリケーションを公開する地域の選択も可能です。

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

  • Windows Phone Marketplace と課金 - Windows Phone Marketplace では、開発者が利用者にアプリケーションを販売することもできます。携帯電話会社からの課金と、クレジット カードによる課金の両方がサポートされており、利用者が簡単にアプリケーションを購入できるようにしています。(ただし地域によって仕様は異なります)
  • ビジネス インテリジェンス - ビジネス インテリジェンス ツールは、アプリケーションの使用方法に関する情報、財務レポートや販売レポート、ユーザーからのフィードバック、アプリケーションによって報告されたデバッグ情報などを提供します。

ページのトップへ


3. アプリケーション開発ライフサイクル

ここでは、アプリケーションの開発サイクルの過程で Windows Phone アプリケーション プラットフォームを使用するしくみについて説明します。

図 4

Windows Phone 開発者ポータルについて

開発者の出発点となるのが Windows Phone 開発者ポータルです。開発者は、まず、Microsoft アカウントにサインアップします。次に、ポータルにサインインして、Visual Studio と Expression Blend を使用してアプリケーションを開発するための、Windows Phone Developer Tools Beta と関連ライセンス資料を入手します。ツールと資料は 1 つのダウンロードにまとめられており、開発者が Windows Phone 向けアプリケーションを構築するのに必要なものがすべて含まれています。また、構築中のアプリケーションを検証する際にテスト ハードウェアとして使用する携帯電話を 1 台または複数台登録することもできます。市販されている Windows Phone であれば、どれでもテスト デバイスとして登録できます。

Windows Phone 開発者ポータルには、Windows Phone 開発を成功に導く、サンプル、ドキュメント、アクティブな開発者コミュニティが用意されています。

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

Windows Phone 開発者としてサインアップし、開発者向けツールをインストールしたら、アプリケーションの開発に着手します。

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

Silverlight のアプリケーションのビジュアル デザインは XAML ベースで、Visual Studio と Expression Blend のいずれかまたは両方を使って行います。ここで作成したマークアップを含む XAML ドキュメントは、Silverlight プレゼンテーション エンジンや Windows Phone アプリケーション プラットフォームのコンポーネント上で動作します。

Visual Studio IDE を使用すれば、あらゆる Windows Phone アプリケーションのビジュアル動作を定義するマネージ コードを作成できます。アプリケーションが完成したら、アプリケーションに必要なすべてのものを含むパッケージを作成します。

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

Windows Phone アプリケーションの作成中、開発者は携帯電話、または Windows Phone Emulator でプログラムをデバッグできます。アプリケーションをデバッグするには、デバッグ対象のプラットフォームをターゲットとするパッケージを作成してから、Visual Studio を使用してパッケージを配置する必要があります。呼び出し履歴の調査、式の評価、ソース コードのステップ実行、変数のウォッチ ウィンドウなど、すべてのデバッグ操作がサポートされます。

アプリケーションの公開

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

次に、開発者ポータルにサインインし、認定を受けるためにアプリケーション パッケージを提出します。これは、利用者にアプリケーションを公開する唯一の方法です。認定プロセスでは、アプリケーションが適切に動作すること、対象とする言語と地域で機能すること、および携帯電話の全体的な動作に悪影響を与えないことが検証されます。

パッケージが Windows Phone Marketplace の認定要件を満たしていたら、開発者はその旨の通知を受け取り、開発者ポータルを通じて Windows Phone Marketplace にアプリケーションを公開することができます。その結果、利用者は Windows Phone Marketplace からアプリケーションをダウンロードできるようになります。課金方法としては、クレジット カードによる請求と、携帯電話会社からの請求の両方がサポートされています。(地域によって仕様は異なります)

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

Windows Phone Marketplace に Windows Phone アプリケーションを公開したら、開発者は開発者ポータルを使用して、購入可能なアプリケーションのバージョンとアプリケーションへのアドオンを管理します。また、ポータルには、ユーザーからのフィードバックの確認や、収益、使用率、パフォーマンス データの分析を行うツールも用意されています。

ページのトップへ