エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Windows Phone SDK 8.0 の新機能

2014/06/18

Windows Phone SDK 8.0 へようこそWindows Phone 8 では、ネイティブ ゲーム開発、Windows ランタイム の電話専用バージョン、新しいカーネルなど、新しい機能や更新された機能をアプリ開発者に提供します。ここでは、Windows Phone 8 と Windows Phone SDK 8.0 の新しい機能や更新された機能について紹介します。SDK で利用できるツールによって、ユーザーの Windows Phone の操作性を高める Windows Phone アプリを作成できるようになります。ここでは、アプリ開発で使用できる機能の概要を紹介し、詳細の参照方法を示します。

このトピックは、次のセクションで構成されています。

 

Windows Phone SDK 8.0 Update 3 Emulator パッケージは、既存の Windows Phone SDK 8.0 インストールに 5 つの新しいエミュレーター イメージを追加します。この更新プログラムをインストールすると、Windows Phone 8 の更新プログラム 3 (つまり、バージョン 8.0.10492 以上) がインストールされたデバイスでアプリがどのように実行されるかをテストできます。この更新プログラムには Visual Studio 2012 Update 4 以降または Visual Studio 2013 のいずれかが必要です。

更新プログラムをダウンロードするには、「Windows Phone SDK 8.0 Update 3 Emulators」にアクセスしてください。

Windows Phone 8 Update 3 (バージョン 8.0.10492 以降) には、アプリ開発者のための以下の新機能および変更された機能が含まれます。

重要:重要:

Windows Phone 8 Update 3 がデバイスにインストールされている場合にのみ、アプリケーションでこれらの機能を使用できます。通常、これにはコードで条件ロジックを使用してデバイスに Windows Phone 8 Update 3 があるかどうかをテストする必要があります。このセクションの後半で示すコード サンプルを参照してください。

  • 1080p ディスプレイ解像度を備えたデバイスのサポート。詳細については、「大画面 Windows Phone の活用」および「Windows Phone 8 の複数解像度アプリ」を参照してください。

  • アプリのメモリ上限の増加。2 GB の電話機では、Windows Phone 8 Update 3 がインストールされたアプリで使用できるメモリの最大量は 570 MB です。メモリ上限の詳細については、「Windows Phone 8 用のアプリのメモリ制限」を参照してください。

  • バックグラウンド オーディオ アプリのメモリ上限の増加。メモリが 1 GB のデバイスでは、バックグラウンド オーディオ アプリのメモリの上限が 20 MB から 25 MB に増えました。バックグラウンド オーディオ アプリの詳細については、「Windows Phone 8 のバックグラウンド オーディオの概要」を参照してください。

  • 追加設定のための新しい URI スキーム。[バッテリーセーバー] 設定ページまたは [画面の回転] 設定ページを表示するための新しい URI スキームがあります。([画面の回転] 設定ページも Windows Phone 8 Update 3 で新しく追加されたものです)。詳細については、「Windows Phone 8 用の組み込みアプリを起動するための URI スキーム」を参照してください。

  • アプリ アイコンの追加使用。タスク スイッチャーでは、アプリ アイコンおよびアプリ タイトルと共にアプリの最後にアクティブだったページのスクリーンショットが表示されるようになりました。

  • トースト通知のカスタム サウンド。リフレクションを使用してトースト通知のカスタム サウンドを指定できるようになりました。詳細については、「Windows Phone 8 のトースト」を参照してください。

  • プッシュ通知に関連する新しいプロパティ。新しい Boolean プロパティ Windows.Phone.System.Power.PowerManager.PowerSavingModeEnabled をリフレクションから使用できます。新しいプロパティは、バッテリ節約モードが有効かどうかを示します。バッテリ節約モードがアクティブかどうかを示す既存の PowerSavingMode プロパティを補完します。PowerSavingModeEnabledtrue の場合、アプリはプッシュ通知が受信されないことをユーザーに警告できます。詳細については、「Windows Phone 8 でプッシュ通知を受信するためのアプリの設定」を参照してください。

  • 変更された device-width の動作WebBrowser コントロールおよび Internet Explorer で、ビューポート設定と併用したときの device-width の動作が変更されました。詳細については、「Windows Phone 8 の Web 開発」を参照してください。

  • 変更されたトースト通知の動作。ターゲット アプリが前面で実行していても、電話呼び出しやロック画面などの他のアクティビティによって隠されているときは、トースト通知が表示されるようになりました。従来は、ターゲット アプリが前面で実行されていると、アプリが隠れていたとしても、トースト通知は表示されませんでした。

Windows Phone 8 Update 3 でのアプリ開発者に関係のある新機能および変更された機能の詳細については、Windows Phone 開発者ブログの投稿「開発者向け Windows Phone Preview の概要」を参照してください。

デバイスに Windows Phone 8 Update 3 があるかどうかは、次のコードを使用してテストできます。

private static Version TargetedVersion = new Version(8, 0, 10492);
public static bool IsTargetedVersion
{
    get { return Environment.OSVersion.Version >= TargetedVersion; }
}

Windows Phone 8.0.10322 向け Windows Phone SDK 8.0 更新プログラムは、既存の Windows Phone SDK 8.0 インストールに 4 つの新しいエミュレーター イメージを追加します。 この更新プログラムをインストールすると、Windows Phone 8 のビルド 8.0.10322 以上がインストールされたデバイスでアプリがどのように実行されるかをテストできます。この更新プログラムには Visual Studio 2012 Update 4 以降または Visual Studio 2013 のいずれかが必要です。

更新プログラムをダウンロードするには、「Windows Phone 8.0.10322 向け SDK 8.0 更新プログラム」にアクセスしてください。

Visual Studio 2012 更新プログラム 3 では、Windows Phone 8 Emulator を Windows 8.1 Preview にインストールして実行したときに可能性のある互換性の問題を避けるための修正プログラムがインストールされます。

Visual Studio 2012 更新プログラム 3 は最新の更新プログラムであり、これまでの Visual Studio 2012 更新プログラムでリリースされた機能を含む累積的な更新プログラムです。

更新プログラムをダウンロードするには、Visual Studio 2012 更新プログラム 3 にアクセスしてください。

Visual Studio 2012 更新プログラム 2 では、Windows Phone アプリのための以下の新機能がインストールされます。

  • Windows Phone アプリの単体テスト。Windows Phone アプリ用の単体テスト プロジェクトを作成し、テスト エクスプローラーからテストを実行します。詳細については、「Windows Phone アプリの単体テスト」を参照してください。

  • コマンド ライン配置。コマンド プロンプトで Windows Phone アプリを配置します。スクリプトまたはカスタム アプリからアプリを配置することもできます。詳細については、「Windows Phone 8 のアプリを配置し、実行する方法」を参照してください。

  • コマンド ラインでの企業アプリのプリコンパイルおよび署名。Microsoft Build Engine (MSBuild) を使用して企業アプリをビルドするときに、コマンド プロンプトで企業アプリのプリコンパイルおよび署名を行います。スクリプトまたはカスタム アプリからアプリのビルド、プリコンパイル、署名を行うこともできます。詳細については、「Windows Phone 用の自社アプリを配布用に準備する」を参照してください。

Visual Studio 2012 更新プログラム 2 でもともとリリースされていた機能を入手するには、Visual Studio 2012 更新プログラム 3 をダウンロードしてください。これはこれまでの Visual Studio 2012 更新プログラムでリリースされた機能を含む累積的な更新プログラムであり、Visual Studio 2012 更新プログラム 2 が含まれます。

Multilingual App Toolkit for Visual Studio 2012 では、翻訳のサポート、翻訳ファイルの管理、および Visual Studio と統合されるエディター ツールを利用でき、Windows Phone アプリをローカライズできます。Multilingual App Toolkit の詳細については、短いビデオ「Multilingual App Toolkit の概要」を参照してください。

ツールキットをダウンロードするには、Multilingual App Toolkit for Visual Studio 2012 にアクセスしてください。

Windows Phone 7.8 向け Windows Phone SDK 更新プログラム を使用すると、Windows Phone 8 スタート画面エクスペリエンスを、小、中、ワイド タイルを使用して Windows Phone OS 7.1 を対象とするアプリに提供できます。詳細については、「Windows Phone OS 7.1 アプリへの Windows Phone 8 および 7.8 のタイル機能の追加」を参照してください。

さらに、新しい Emulator 7.8 および Emulator 7.8 256 MB 開発オプションによって、Windows Phone 7.8 デバイスでアプリとゲームの実行をテストすることもできます。

SDK 更新プログラムをダウンロードするには、Windows Phone 7.8 向け Windows Phone SDK 更新プログラムにアクセスしてください。

Windows Phone SDK 8.0 には、アプリの開発、デバッグ、およびテストに使用する次の新しいツールと機能が含まれています。

開発ツールと機能

Visual Studio  には次の新機能が含まれています。

  • Direct3D アプリ用のプロジェクト テンプレート。プロジェクト テンプレートの詳細については、「Windows Phone 8 用のテンプレートから新しいアプリ プロジェクトを作成する方法」を参照してください。Direct3D アプリの詳細については、このトピックの「Direct3D とゲーム」を参照してください。

  • プロジェクト テンプレートでの強化されたローカリゼーション サポート。プロジェクト テンプレートにローカリゼーションのためのサポートが組み込まれました。ローカライズされたアプリを開発するためのベスト プラクティスの使用を簡単に開始でき、多数の構成手順は必要ありません。詳細については、「Windows Phone 8 のローカライズしたアプリの構築方法」を参照してください。

  • マネージ コードまたはネイティブ コードのデバッグ。プロジェクト デザイナーの [デバッグ] ページでは、アプリのマネージ コード部分またはネイティブ コード部分をデバッグするかどうかを選択できます。アプリがバックグラウンド エージェントと通信する場合は、バックグラウンド エージェントのマネージ コード部分またはネイティブ コード部分を独立してデバッグするかどうかも選択できます。アプリとバックグラウンド エージェントの両方を同じデバッグ セッションでデバッグできます。

  • タイルまたは通知から起動したアプリのデバッグ。これで、直接起動した場合に限らず、タイルやプッシュ通知で起動したときでも、Windows Phone 8 をターゲットとするアプリをデバッグすることができます。Windows Phone 8 Emulator または Windows Phone 8 デバイスでアプリを起動してデバッグする場合、[戻る] ボタンをクリックするとアプリは終了しますが、デバッガーはアタッチされたままになります。タイルまたはプッシュ通知を使用してもう一度アプリを起動した後、続けてアプリをデバッグできます。詳細については、「Windows Phone 8 のアプリのデバッグ」を参照してください。

  • XNA Framework のサポート。Windows Phone 8 で実行する XNA Framework アプリを開発できます。これを行うには、対象を Windows Phone OS 7.1 に設定する必要があります。詳細については、「Windows Phone 8 の XNA Framework とアプリの開発」を参照してください。

Windows Phone 8 Emulator  には次の新機能が含まれています。

  • 複数の解像度のサポート。Windows Phone 8 でサポートされている 3 種類の解像度ごとにエミュレーター イメージを使用できます。詳細については、「Windows Phone 8 の複数解像度アプリ」を参照してください。

  • Windows Phone 8 Emulator のシステム要件。Windows Phone 8 Emulator は Windows Hyper-V で動作し、ハードウェア、ソフトウェア、および構成の要件は Hyper-V と同じです。使用しているコンピューターで Hyper-V がサポートされていない場合でも、Windows Phone 8 用のアプリを開発し、Windows Phone 8 デバイスでデバッグとテストを行うことができます。詳細については、「Windows Phone 8 エミュレーターのシステム要件」を参照してください。

  • Windows Phone 8 Emulator でのネットワーク。Windows Phone OS 7.1 エミュレーターは開発用コンピューターのネットワーク接続を使用します。ただし、Windows Phone 8 Emulator はそれ自体をネットワーク上の独立したデバイスとして構成します。この変更による影響の詳細については、「Windows Phone 8 用の Windows Phone エミュレーター」を参照してください。

マニフェスト デザイナー。わかりやすいユーザー インターフェイスを使用してアプリ マニフェストの要素を追加、削除、および変更できるようになりました。詳細については、「Windows Phone 8 のアプリ マニフェスト ファイルを変更する方法」を参照してください。

分離ストレージ エクスプローラーに、対象デバイスを指定できる新しいコマンド ライン オプションが追加されました。詳細については、「Windows Phone 8 の分離ストレージ エクスプローラー ツールを使用する方法」を参照してください。

テスト ツールと機能

アプリのネイティブ イメージのテスト。アプリのネイティブ イメージをテストして、ユーザーと同じようにアプリのパフォーマンスを体感することができます。詳細については、「Windows Phone アプリのリテール版のテスト方法」を参照してください。

アプリの監視とプロファイリング。Windows Phone アプリケーション分析 (以前の Windows Phone パフォーマンス分析) には、アプリ プロファイリングに加え、アプリ監視が追加されました。アプリ監視機能では、品質の観点から関連するアプリの主要なメトリックをキャプチャし、そのメトリックに基づいてアプリを評価します。原則は、後からではなく、アプリの開発中にアプリの品質とパフォーマンスを確認できるようにすることです。詳細については、「Windows Phone のアプリ監視」を参照してください。

シミュレーション ダッシュボード。Windows Phone 8 のシミュレーション ダッシュボードを使用して、アプリが実際の条件にどのように応答するか事前に判断できます。この情報を使用して、アプリがさまざまな実際のシナリオで適切に動作し、ユーザーがアプリに満足するようアプリを調整できます。

シミュレーション ダッシュボードを使用して、アプリが次の条件にどのように応答するかをテストできます。

  • 低帯域幅の接続または低品質のシグナル

  • アラーム、通知などの割り込み

  • ロック画面

詳細については、「Windows Phone のシミュレーション ダッシュボード」を参照してください。

スクリーンショット。特別なキーの組み合わせを使用して、物理的な電話で実行中のアプリのスクリーンショットを取得できるようになりました。詳細については、「Windows Phone ストア用のスクリーンショットの作成方法」を参照してください。

ストア テスト キット。Marketplace Test Kit は ストア テスト キット に名称変更されました。[機能検証] テストは、Windows Phone 8 を対象とするアプリには使用できません。

Windows Phone 8 には、次のクラスを使用してアクセスできる新しいタイル サイズと新しいタイル テンプレートがあります。

Windows Phone 8 の新しいタイルの詳細については、「Windows Phone 8 のタイル」を参照してください。

Windows Phone 8 で、ユーザーはロック画面バックグラウンド イメージ プロバイダーとしてアプリを使用し、ロック画面通知領域にアプリを含めることができます。Windows Phone 8 アプリにおける新しいロック画面機能の使用方法の詳細については、「Windows Phone 8 のロック画面の通知」および「Windows Phone 8 のロック画面の背景」を参照してください。

マップ

Windows Phone 8 に、次の名前空間で使用できる新しいマップ コントロールが追加されました。

新しいマップ コントロールの詳細については、「Windows Phone 8 のマップとナビゲーション」を参照してください。

プッシュピンなどの Maps API の便利な拡張機能については、Windows Phone Toolkit をダウンロードしてください。

ナビゲーション

Windows Phone 8 では、ms-drive-to または ms-walk-to の URI スキームを指定したナビゲーション コントロールを使用して、道順を要求するアプリを作成することや、道順の要求を処理するアプリを作成することができます。詳細については、「Windows Phone 8 で車または徒歩での道順を要求する方法」および「Windows Phone 8 で道順の要求に応答する方法」を参照してください。

Windows Phone 8 は電話の現在位置を取得するための新しい Windows Phone ランタイム ベースの API セットを備えています。既存の .NET 位置情報 API は現在もサポートされています。新しい API の詳細については、「Windows Phone 8 の位置情報」を参照してください。

Windows Phone 8 のもう 1 つ別の新しい機能は、ユーザーが位置追跡アプリから移動した後も、そのアプリが続けてバックグラウンドで実行されている機能です。走行トラッキング、ターンバイターン ナビゲーション アプリなどのシナリオが実現可能になります。

Windows Phone 8 で、ユーザーは音声を使用してアプリとやり取りできます。Windows Phone 8 アプリにおける新しい音声機能の使用方法の詳細については、「Windows Phone 8 の音声」を参照してください。

Windows Phone 8 には、ウォレットが導入されました。アプリ ユーザーはウォレットを使用して次の操作を行うことができます。

  • クーポン、クレジット カード、メンバーシップ、ポイント カードなどを 1 か所にまとめる。

  • アプリ ストアとミュージック ストアで使用する支払い方法を管理する。

  • ウォレットの項目を電話のアプリにリンクする。

  • 一部の市場で、NFC (Near-Field Communication) を使用して非接触型トランザクションを行う。

アプリ開発者はウォレット を使用して、ユーザーの ウォレット 項目を統合できます。Wallet 名前空間で提供される機能を使用して、アプリのウォレット 項目の作成、読み取り、書き込み、および削除を行うことができます。Windows Phone 8 ウォレット 機能により、エージェントを使用して項目を最新に保ち、状態メッセージとカスタム フィールドによりユーザーとやり取りできます。ウォレット 統合は追加機能であり、追加された新しい領域で顧客と関与できるため、顧客とさらに接触しやすくなります。また、ユーザーはウォレット 項目を使用してアプリにディープ リンクできるため、さらに有効なアプリ内機能を提供できます。Windows Phone 8 のウォレット の詳細については、「Windows Phone 8 のウォレット」を参照してください。

Windows Phone 8 では、WVGA、WXGA、720p、1080p のデバイスをサポートしています。新しい解像度を次の表に示します。これらすべての解像度は Windows Phone 8 Emulator でサポートされています。

Resolution (解決)

縦横比

スケーリングされた解像度

WVGA

480 × 800

15:9

480 × 800

WXGA

768 × 1280

15:9

480 × 800

720p

720 × 1280

16:9

480 × 853

1080p

1080 × 1920

16:9

480 × 853

Windows Phone 8 Update 3 の複数解像度サポートの詳細については、「Windows Phone 8 の複数解像度アプリ」を参照してください。

ネイティブ開発に加え、Windows Phone テクノロジのファミリに Direct3D が追加されています。これは、Direct3D ベースの PC ゲームのコード ベースのほとんどを初めて電話バージョンで共有できることを意味しています。開発者は業界最大のゲーム タイトルの基盤となっている最新のミドルウェア ツールとエンジンを使用して、Windows Phone 向けのゲームを開発できます。

Direct3D アプリ とは、UI に Direct3D だけを使用し、完全にネイティブ コードで作成されたアプリのことです。この種類のアプリは、マネージ アプリとはまったく異なるアプリ モデルを使用するので、ライブ タイルやプッシュ通知などのマネージ アプリ機能の多くを使用できません。ただし、Windows Phone 8 では Direct3D アプリ向けにいくつかの新機能が追加され、ソフトウェア キーボード入力サポート、デバイス テーマ、画面解像度検出、および Windows Phone アプリに多くの一般的電話タスクを追加する一連のランチャーとセレクターが提供されています。この種類のアプリで使用できるネイティブ Direct3D アプリ モデルと機能の詳細については、「Windows Phone 8 用の Direct3D アプリ開発」を参照してください。

ただし、DrawingSurface コントロールと DrawingSurfaceBackgroundGrid コントロールを使用して、DirectX グラフィックスを管理されているアプリに組み込み、パフォーマンスのロスを最小限にしてマネージ コード機能を利用できます。Windows Phone 8 は、9_3 フィーチャ レベルで Direct3D ライブラリのサブセットをサポートしています。Direct3D 機能のサポートと互換性の詳細については、「Windows Phone 8 の Direct3D」を参照してください。マネージ アプリからの Direct3D の使用方法の詳細については、「Windows Phone 8 の XAML & Direct3D アプリ」を参照してください。

Direct3D グラフィックス サポートに加え、オーディオとビデオの再生とキャプチャ用に Microsoft Media Foundation API にもアクセスできます。また、ネイティブ オーディオ ライブラリの XAudio2 と WASAPI も電話でサポートされています。詳細については、「チュートリアル: Windows Phone 8 用の Microsoft Media Foundation の使用」および「Windows Phone 8 のネイティブ オーディオ API」を参照してください。

Windows Phone 8 は、作成するアプリのベースとなる 2 つの異なるアプリ モデルをサポートしています。

XAML

XAML は、コントロール、図形、テキストなどのユーザー インターフェイス要素を作成するために使用できる宣言型言語です。XAML によるアプリ開発は、主に C# および Visual Basic 開発者が汎用アプリを構築するために使用します。これらの技法を使用して記述された既存の Windows Phone アプリは、Windows Phone 8 に対して完全に互換性があります。XAML ベースのアプリには、新しいコントロールや高解像度への自動スケールなどの新機能があります。XAML アプリでは、Windows ランタイム コンポーネントにコードを含めることによって、C++ コードを再利用できます。新しいプロジェクト テンプレートを使用して、Direct3D グラフィックスを XAML アプリに組み込むことができます。XAML の詳細については、「Windows Phone 8 のユーザー インターフェイス」を参照してください。

Direct3D

Direct3D アプリ開発は、Direct3D のグラフィックス機能を必要とする開発者にとって魅力的な選択です。これは主に C++ 開発者が高いパフォーマンスを必要とするゲームを構築するために使用します。詳細については、「Windows Phone 8 のゲーム」および「Windows Phone 8 用の Direct3D アプリ開発」を参照してください。

HTML

HTML ベースの電話アプリは、Windows Phone 8 でサポートされるアプリ モデルではありません。ただし、開発者は、埋め込みブラウザー コントロールを使用してローカル HTML コンテンツを表示する XAML フロント エンドでマネージ アプリを作成でき、InvokeScript メソッドと ScriptNotify イベントを使用して電話 API にアクセスできます。また、Windows Phone 8 では電話のブラウザーが Internet Explorer Mobile 10 にアップグレードされたので、堅牢な HTML5/CSS3 実装、SVG (Scalable Vector Graphic)、ES5、IndexedDB、ジェスチャ イベントなどの多数の新機能を使用できるほか、高性能スクリプト エンジンの追加によって、Windows Phone 8 HTML 開発者に新しい開発の可能性が広がりました。

Internet Explorer Mobile 10 での開発の詳細については、「Internet Explorer 10 開発者向けガイド」を参照してください。

Windows Phone 8 には、レンズ、写真を Web サービスに自動アップロードする機能、写真の可能性を広げる新しい方法、および Windows Phone ランタイム の高機能なキャプチャ API が導入されています。また、このリリースでは、写真の操作性も拡張されています。

レンズ

Windows Phone 8 で、Windows Phone 組み込みカメラ アプリに表示されるレンズと呼ばれるカメラ アプリを作成できます。ユーザーはレンズから常にアプリのファインダーを利用できます。レンズ機能は、カメラ API により独自のカメラ機能を提供するアプリで使用できる一種の拡張機能です。アプリではレンズとしてユーザーにファインダー機能を提供し、カメラを直接操作します。詳細については、「Windows Phone 8 のレンズ」を参照してください。

写真の操作

Picture クラスに新しい拡張メソッドが追加されました。その中に GetPreviewImageGetPath があります。GetPreviewImage は、画面上の写真表示のパフォーマンスを改善する場合に役立ちます。このメソッドは、ユーザーの写真に最適化された解像度 (WVGA、WXGA、または 720p) で写真を返します。GetPath メソッドは、メディア ライブラリの画像の完全パスを返します。このパスを使用して、写真を個別に識別できます。これらのメソッドを使用するには、Microsoft.Xna.Framework.Media.PhoneExtensions にディレクティブを追加します。

新しいランチャーである ShareMediaTask が追加されました。アプリでは、ShareMediaTask クラスを使用して直接共有ピッカーにアクセスできるため、ユーザーは組み込み写真ビューアーを使用した場合と同じように写真を共有できます。詳細については、「Windows Phone 8 のメディア共有タスクの使用方法」を参照してください。

さらに、PhotoChooserTask タスクではわかりやすいファイル名を返すようになりました。イベント ハンドラーで、OriginalFileName プロパティは写真の実際のファイル名を返します。詳細については、「Windows Phone 8の写真セレクター タスクの使用方法」を参照してください。

写真の機能拡張

Windows Phone 8 には、Windows Phone の写真機能を拡張する新しい方法が導入されました。フォト ハブ、写真アプリ ピッカー、および共有ピッカーの拡張に加え、アプリに写真編集ピッカーを統合したり、アプリをリッチ メディア エディターとして登録したりできます。詳細については、「Windows Phone 8 の写真の機能拡張」を参照してください。

自動アップロード

Windows Phone 8 で、アプリはリソースを大量に消費するバックグラウンド エージェントを使用し、写真ストレージ サービスに写真を自動的にアップロードできます。アプリを自動アップロード アプリとして登録することで、バックグラウンド エージェントを有効期限なしで実行できます。詳細については、「Windows Phone 8 の自動アップロード アプリ」を参照してください。

高機能なキャプチャ API

カメラの細かい制御が必要なアプリのため、Windows Phone ランタイム には、Windows.Phone.Media.Capture 名前空間の高機能なキャプチャ API が含まれています。PhotoCaptureDevice クラスを使用して、ISO、ホワイト バランス、露出などの写真のプロパティを制御します。さらにフォーカス位置をプログラムで調整することもできます。AudioVideoCaptureDevice クラスでは、ビデオとオーディオ録音に対して同レベルの制御を提供します。高機能なキャプチャ API の詳細については、「Windows Phone 8 の写真のキャプチャ」および「Windows Phone 8 でのビデオのキャプチャ」を参照してください。

これらの API に加え、Windows Phone 8 はネイティブ コード専用のインターフェイスのセットを備えています。これらのインターフェイスでは、圧縮されていない写真データおよびエンコードされたオーディオ/ビデオ サンプルにアクセスできます。また、現在のプレビュー フレームを使用した Direct3D 2-D テクスチャの塗りつぶしに使用できるメソッドもあります。詳細については、「ネイティブ コード用のカメラ API (Windows Phone 8)」を参照してください。

音楽メディア ライブラリ

Windows Phone 8 では、MediaLibraryクラスを拡張する SaveSong メソッドと Delete メソッドを使用して、ユーザーの音楽コレクションの音楽ファイルを追加したり削除したりできます。この新しい API は、Microsoft.Xna.Framework.MediaLibraryExtensions.dll アセンブリの Microsoft.Xna.Framework.Media.PhoneExtensions 名前空間にあります。

画像メディア ライブラリ

Windows Phone 8 では、電話に保存された画像ごとに次の 2 つのサムネイル イメージが自動的に作成され、アプリで取得できます。

  • 小さいサムネイル イメージ。このサムネイルは、Picture クラスの GetThumbnail メソッドを使用して取得できます。

  • 写真の画面と同じサイズのプレビュー イメージ。このプレビュー イメージは、Picture クラスの新しい GetPreviewImage 拡張メソッドを使用して取得できます。

画像へのパスは、Picture クラスの新しい GetPath 拡張メソッドを使用して取得できます。ユーザーが画像の共有を希望する場合、このメソッドを使用して ShareMediaTaskFilePath プロパティの値を指定します。

この新しい API は、Microsoft.Xna.Framework.MediaLibraryExtensions.dll アセンブリの Microsoft.Xna.Framework.Media.PhoneExtensions 名前空間にあります。

バックグラウンド オーディオ

Windows Phone 8 では、BackgroundAudioPlayer の状態が変化したときに、PlayStateChangedEventArgs から状態遷移に関する情報をキャプチャできます。CurrentPlayState と、オーディオ プレーヤーが現在の再生状態になる前に発生した IntermediatePlayState の両方を特定できます。

新しいイベント引数で提供される情報を使用して処理できる状態遷移の例を次に示します。

バックグラウンド オーディオの詳細については、「Windows Phone 8 のバックグラウンド オーディオの概要」を参照してください。

コントロール

Windows Phone 8 は次の新しいコントロールを備えています。

  • Windows Phone 8 には、データの長い一覧のグループ化、表示、およびスクロールに使用できる LongListSelector コントロールが含まれています。また、ユーザーが一覧の特定のセクションにジャンプする機構も備えています。

  • Windows Phone 8 で、Pivot コントロールと Panorama コントロールは SDK から削除され、電話の読み取り専用メモリ (ROM) に配置されました。そのため、アプリでは別のネイティブ入力スレッドを使用でき、これらのコントロールの入力への応答は大きく向上します。Panorama コントロールのワーキング セット メモリも削減されました。

  • WebBrowser コントロールは Internet Explorer 10 に基づいています。Internet Explorer 10 では、HTML5 と拡張 CSS をサポートし、より充実したブラウザー内エクスペリエンスを提供します。

  • ProgressBar コントロールのパフォーマンスが向上しました。このコントロールは、値に基づく進行状況または不確定な進行状況を制御するために使用します。

ランチャー

ユーザーが一般的なタスクを実行するのを助けるため、Windows Phone 8 アプリでランチャーを使用できます。Windows Phone 8 では、次のランチャーが追加されました。

Windows Phone 8 の新しいランチャーの詳細については、「Windows Phone 8 のランチャー」を参照してください。

VoIP

Windows Phone 8 では、ユーザーがデータ接続上で音声とビデオのコールを発信できる VoIP (Voice over IP) アプリを作成できます。VoIP アプリは、組み込みの電話機能に統合されます。たとえば、着信コールは、通常の携帯電話の着信と同じ電話 UI を使用して表示されます。詳細については、「Windows Phone 8 用の VoIP アプリ」を参照してください。

Bluetooth

Bluetooth は、10 m の近接距離内にあるデバイス間の通信に使用できるワイヤレス通信テクノロジです。Windows Phone 8 に導入された新しい Bluetooth API を使用して、Bluetooth テクノロジを使って他の電話と通信するアプリを作成できます。Windows Phone 8 の中心的な Bluetooth シナリオにはアプリ間およびアプリとデバイス間の通信があり、さまざまな形でアプリの接続性を向上させることができます。詳細については、「Windows Phone 8 の Bluetooth」を参照してください。

近接

Windows Phone 8 では、新しい API である Proximity API が導入されました。この API を使用して、次の操作を行うアプリを作成できます。

  • NFC を使用するデバイス間でデータを送信する。

  • 電話を使用して NFC タグとやり取りする。

  • アプリと近接通信デバイスのアプリのインスタンス間で Wi-Fi または Bluetooth の通信を確立する。

NFC (Near-Field Communication) チップを搭載する 2 台の電話で、アプリ ユーザーは電話を一緒にタップするだけで上記のシナリオを実行できます。

近接通信の詳細については、「Windows Phone 8 の近接通信」を参照してください。Windows Phone 8 の近接通信では、Bluetooth テクノロジを使用したアプリ間通信も可能になります。Windows Phone 8 の Bluetooth の詳細については、「Windows Phone 8 の Bluetooth」を参照してください。

受信ソケット

Windows Phone 8 では、受信ソケットの機能が拡張されています。System.Net.SocketsWindows.Networking.Sockets では受信ソケットをサポートしています。つまり、アプリで受信ネットワーク接続を待機した後、その接続にバインドできます。

IPv6 のサポート

ネットワークにおけるデバイスの 128 ビット アドレス指定システムのサポートが System.Net.Sockets に追加され、Windows.Networking.Sockets でもサポートされます。

Windows.Net.Networking

Windows ランタイム API である Windows.Networking.Sockets が Windows Phone 8 に適用されました。Windows Phone ランタイム API として実装され、サポートされたいずれのプログラミング言語を選択しても簡単に使用できます。.NET API System.Net.Sockets は IPv6、リスナー ソケットなどの多くの機能をサポートするように拡張されていますが、ソケット プログラミングには新しい API を使用することをお勧めします。これは、.NET API より移植性が高いためです。Windows.Networking.Sockets は、クリーンで安全であり、使いやすくベスト プラクティスを適用する API とするため、一から作成されました。サポートされている Windows ランタイム API の詳細については、「Windows Phone ランタイム API」を参照してください。

Winsock ネイティブ API のサポート

Windows Phone 8 では Winsock ネイティブ API がサポートされています。Winsock API を使用する主な利点の 1 つは、Winsock を使用して既に実装したカスタム ネットワーク機能を再使用できるため、Windows Phone OS 8.0 プラットフォームのアプリの作成が簡単になることです。Winsock ネイティブ API のサポートの詳細については、「Windows Phone 8 でサポートされる Win32 API」を参照してください。

通信量モニター

Windows Phone 8 には新しい通信量モニター機能が導入されました。この機能はアプリ ユーザーがデータ計画の制限を超えずに節約するために役立ちます。通信量モニター機能で、ユーザーはデータ計画の制限を指定できます。通信量モニターでは、その制限に関連してデータの使用状況を監視します。アプリではこの情報を使用して、ユーザーがデータ制限に近づいたときにデータの使用を減らしたり、ユーザーがデータ制限を超えた場合にデータの使用を中断したりして、ユーザーの節約を助けることができます。

Windows Phone 8 の通信量モニターの詳細については、「Windows Phone 8 のデータセンサー API でデータの使用を調整する方法」を参照してください。

Storage (記憶域)

Windows Phone 8 は Windows 8 と共に、Windows ランタイム と Win32 のストレージ API のサブセットをサポートします。また、このリリースには、SD カードの読み取りを行う新しい .NET API である Microsoft.Phone.Storage 名前空間が導入されています。詳細については、「Windows Phone 8 のデータ」および「Windows Phone 8 での SD カードからの読み取り」を参照してください。

カスタム連絡先ストア

Windows Phone 8 アプリによって排他的に所有されるが、組み込み電話機能により参照可能な連絡先セットを作成するようアプリを設計できます。アプリの連絡先の作成、更新、削除、照会を行う API、およびアプリの連絡先一覧をアプリのクラウド サービスにより保持されるリモート一覧と同期させる API が用意されています。詳細については、「Windows Phone 8 のカスタム連絡先ストア」を参照してください。

ファイルと URI の関連付け

Windows Phone 8 のファイルと URI の関連付けを使用すると、別のアプリで特定のファイルの種類または URI スキームが起動されたときに、自分のアプリを自動的に起動できます。たとえば、ファイルの関連付けを使用して、電子メールの添付データを処理するためにアプリを起動できます。また、関連起動 API を使用して、特定のファイルの種類または URI スキームに基づいて別のアプリを起動することもできます。詳細については、「Windows Phone 8 のファイルおよび URI の関連付けを使用してアプリを自動起動する」を参照してください。

検索の機能拡張

Windows Phone 8 の検索機能を拡張する場合、クイック カードでアプリに渡される情報が増加します。また、イベント用の新しいクイック カードとしてイベント カードがあります。これらの変更の説明を次の表に示します。

クイック カード

新しい URI パラメーター

プレース カード

PhoneNumber

ムービー カード

ReleaseDate

イベント カード (新しいクイック カード)

EventNameStartDatePlaceNamePlaceLatitudePlaceLongitudePlaceAddress

これらのパラメーターの詳細については、「Windows Phone 8 の検索の機能拡張」を参照してください。

アプリ内購入

アプリ内購入を使用すると、仮想商品を実際のお金で販売するアプリまたはゲームを作成できます。Microsoft サーバーは、アプリ内購入に使用できるカタログ製品をホストしています。これには、価格および説明用のメタデータなどが含まれます。また、全世界 190 地域でユーザーが支払いを行う方法を含む商取引インフラストラクチャが提供されています。

ユーザーがアプリ内購入により購入できる製品ごとに、開発者は、Windows Phone デベロッパー センター に説明と、ユーザーがアプリ内購入をできる地域ごとの価格を入力します。開発者は Windows Phone 8 の API を使用して、ユーザーがアプリで購入できる製品の一覧をそのアプリ内に表示できます。開発者は異なる種類の購入方法を処理する特別なコードを作成する必要はありません。ユーザーがアプリとゲームの購入に使用できるすべての購入方法がアプリ内購入でサポートされています。アプリまたはゲームではアプリ内製品に関連付けられたコンテンツをホストし配信する必要があります。詳細については、「Windows Phone 8 のアプリ内購入」を参照してください。

Windows Phone 8 では、アプリを作成し、企業に登録された電話に配置することが簡単にできます。企業に電話を登録しその電話にアプリを配置するプロセスの詳細については、「Windows Phone 用の自社アプリの配布」を参照してください。

Windows Phone 8 では、テキストを右から左へ表示するアプリ、および、双方向言語を使用するアプリを作成できます。Windows Phone 8 で新しいローカリゼーションとグローバリゼーション機能の使用方法の詳細については、「Windows Phone 8 の双方向アプリを作成する」を参照してください。

アプリ ドメインの既定のカルチャを定義できるようになりました。詳細については、CultureInfo クラスを参照してください。

Bluetooth、NFC (Near-Field Communication) などの新しい機能をサポートするため、アプリ マニフェスト ファイルに新しい機能が追加されました。また、要件セクションを使用して、アプリに必要なハードウェアを指定できます。これによって、ユーザーがアプリを正しく実行できる電話を使用してアプリをダウンロードしインストールしたことを確認できます。Windows Phone 8 の新しい機能とハードウェア要件の詳細については、「Windows Phone 8 のアプリ機能とハードウェア要件」を参照してください。

また、Visual Studio に組み込まれたマニフェスト エディター ツールを使用することで、マニフェスト ファイルの編集はさらに簡単になりました。アプリ マニフェスト ファイルの編集方法の詳細については、「Windows Phone 8 のアプリ マニフェスト ファイルを変更する方法」を参照してください。

Windows Phone 8 に導入された API には、Windows Phone OS 7.1 アプリで動作する同じ API とは動作が異なるものがあります。その違い、およびアプリ開発の準備に対する影響の詳細については、「Windows Phone 8 のアプリ プラットフォームの互換性」を参照してください。

多くの場合、Windows Phone 8 と Windows Phone で API の動作が異なるときは API が調整されます。つまり、Windows Phone OS 7.1 を対象とするアプリでは、API は自動的に Windows Phone OS 7.1 での動作と同じように動作します。Windows Phone 8 を対象とするアプリでは、API は新しい動作になります。詳細については、「Windows Phone 8 のアプリ プラットフォームの互換性」の「.NET Framework における Quirks モードの動作」を参照してください。

Windows Phone 8 の共通言語ランタイムは次の新機能を提供し、Windows Phone と次の部分で異なります。

コード生成

  • Windows Phone 8 は、クラウドのアプリをコンパイルする新しい戦略を使用して起動時のパフォーマンスを向上させています。開発者がアプリ ユーザーのデバイスで実行されるのと同じようにアプリを実行できるように、適切なツールが Windows Phone SDK 8.0 の一部として提供されています。

  • Windows Phone 8 におけるインライン サポートが改善され、手動でコードをインライン化する必要がなくなりました。

  • JIT コンパイラによるコード生成が最適化されています。

スレッド処理

  • .NET Framework はマルチコアに対応しています。アプリでスレッドを作成し、ThreadPool クラス、タスク並列ライブラリ、およびすべての同期プリミティブを使用して、複数のコアを活用できます。

  • 複数のコアをサポートすると、Thread.Sleep などの API の動作が異なることがあります。

セキュリティ モデル

  • マネージ サンドボックスは削除されました。その結果、Windows Phone OS 7.1 で予期された MethodAccessException などのセキュリティ例外は、Windows Phone 8 ではスローされないことがあります。

ガベージ コレクション

  • Windows Phone 8 のガベージ コレクション ヒープは、Windows Phone OS 7.1 の 2 世代と異なり、3 世代です。

  • Windows Phone 8 では、ガベージ コレクターに大きなオブジェクト ヒープ (LOH) があります。

  • Windows Phone 8 では、バックグラウンド ガベージ コレクションは使用できません。

  • アプリがメモリの上限に到達すると、電話のリソース マネージャーによってガベージ コレクションが呼び出され、メモリの上限を超えるとアプリは終了します。

  • ランタイムの自動調整ガベージ コレクションのトリガーは、アプリの強制ガベージ コレクションの影響を受けることがあります。

  • Windows Phone 8 では、ガベージ コレクターによるスレッドあたりの割り当てのパフォーマンスが向上しました。

ポータブル クラス ライブラリ

  • Visual Studio 2012 のポータブル クラス ライブラリ プロジェクトを使用すると、複数の .NET Framework プラットフォームで動作するマネージ アセンブリを作成してビルドすることができます。ポータブル クラス ラビ プロジェクトを使用して、対象とするプラットフォーム (Windows Phone 8 アプリや .NET for Windows ストア アプリ) を選択します。プロジェクトで使用できる型やメンバーは、自動的に、これらのプラットフォームに共通の型およびメンバーに制限されます。

  • Windows Phone OS 7.1 および Windows Phone 8 を対象とするポータブル クラス ライブラリは、Windows Phone 8 で使用できます。Windows Phone OS 7.1 を対象とし、Windows Phone 8 で実行されるポータブル クラス ライブラリは、Windows Phone 8 アプリとして実行されます。詳細については、「.NET Framework によるプラットフォーム間の開発」を参照してください。

相互運用

  • アプリで、マネージ コードからファースト パーティ Windows ランタイム API を呼び出すことができます。

  • COM 相互運用と P/Invoke はサポートされません。

全般的なパフォーマンス

  • Windows Phone 8 では、System.Threading.Tasks 名前空間の型を使用する非同期操作および並列操作のパフォーマンスが向上しています。さらに、ストリーム クラスには、C# 言語および Visual Basic 言語に追加された非同期機能を利用するための非同期メソッドが追加されています。詳細については、.NET Framework Version 4.5 ドキュメントの「非同期ファイル I/O」を参照してください。

  • Windows Phone 8 では、仮想呼び出しのパフォーマンスが向上しています。

  • Windows Phone 8 では高速アプリケーション切り替えの実装が強化されています。アクティブなアプリケーションからの切り替えが発生すると、マネージ実行が一時停止します。アプリケーションが一時停止すると、共通言語ランタイムは CPU 使用率が 0 になるように保証し、アプリケーションのすべてのタイムアウトが仮想化されます。

表示:
© 2014 Microsoft