ユニバーサル Windows プラットフォーム (UWP) アプリとは

ユニバーサル Windows プラットフォーム (UWP) とは、Windows 10 用のアプリ プラットフォームです。 API セット、アプリ パッケージ、ストアをそれぞれ 1 つ使うだけで、すべての Windows 10 デバイス (PC、タブレット、電話、Xbox、HoloLens、Surface Hub など) で利用可能な UWP 用アプリを開発できます。 また、多数の画面サイズや、さまざまな対話方式 (タッチ、マウスとキーボード、ゲーム コントローラー、ペン) をサポートすることも簡単になります。 UWP アプリの中核となるのは、ユーザーがすべてのデバイスでモバイル エクスペリエンスを手に入れたい、目の前の作業に一番便利で効率的なデバイスを使いたいという考え方です。

UWP には柔軟性もあります。必要でなければ、C# や XAML を使用しなくても問題ありません。 Unity や MonoGame での開発がお好みでも、 JavaScript がお好みでも 問題はありません。お好きな言語を使用できます。 UWP の機能を使って拡張し、ストアでの販売を希望する C++ デスクトップ アプリがある場合も 問題ありません。

つまり、使い慣れたプログラミング言語、フレームワーク、API を選んで作業に取り組み、すべてを 1 つのプロジェクトで管理して、まったく同じコードを現在存在するさまざまな Windows ハードウェアで動作させることができるのです。 UWP アプリが完成したら、ストアに公開して世界中に届けることができます。

Windows デバイス

それでは、UWP アプリとは厳密に**どのようなものでしょうか。

UWP アプリの一番の特徴は何でしょうか。 以下に、Windows 10 の UWP アプリの特徴をいくつか挙げます。

  • すべてのデバイスに共通の API セットが用意されている。

    ユニバーサル Windows プラットフォーム (UWP) のコア API は、すべてのクラスの Windows デバイスに共通です。 アプリがコア API のみを使う場合は、対象となるのがデスクトップ PC か、Xbox か、または Mixed Reality ヘッドセットかに関係なく、そのアプリはどの Windows 10 デバイスでも動作します。

  • 拡張 SDK により、特定のデバイスの種類でアプリが優れた機能を実現できる。

    拡張 SDK により、各デバイス クラスに特化した API が追加されます。 たとえば、UWP アプリが HoloLens を対象としている場合、通常の UWP のコア API に加えて、HoloLens 機能を追加できます。 ユニバーサル API を対象としている場合は、アプリ パッケージは Windows 10 が動作しているすべてのデバイスで実行できます。 ただし、UWP アプリが、特定のデバイス クラスで実行している際にデバイス固有の API を利用する場合は、API を呼び出す前に、API が存在するかどうかを実行時に確認してください。

  • アプリは .AppX パッケージ形式を使ってパッケージ化され、ストアで配布される。

    すべての UWP アプリは、AppX パッケージとして配布されます。 これにより、信頼できるインストール方法をユーザーに提供でき、アプリはシームレスに展開、更新できるようになります。

  • 1 つのストアですべてのデバイスに対応する。

    アプリ開発者として登録した後、アプリをストアに提出し、すべてまたは特定の種類のデバイス向けに販売できます。 Windows デバイス向けのすべてのアプリを 1 か所で提出、管理できます。

  • アプリはアダプティブ コントロールと入力をサポートする。

    UI 要素には有効ピクセル (「UWP アプリ用レスポンシブ デザイン 101」を参照) が使われるため、UI 要素は、デバイスで利用可能な画面のピクセル数に基づいて動作するレイアウトに応じて最適化されます。 また、キーボード、マウス、タッチ、ペン、Xbox One コントローラーなど、さまざまな種類の入力デバイスで問題なく機能します。 アプリが実行される特定のデバイスや画面サイズに合わせて UI をさらに調整する場合は、新しく追加されたレイアウト パネルとツールが便利です。

使い慣れた言語の使用

UWP アプリは、オペレーティング システムに組み込まれているネイティブな API である Windows ランタイムを使います。 この API は C++ で実装され、C#、Visual Basic、C++、JavaScript でサポートされます。 UWP でアプリを作成するための一部のオプションを次に示します。

  • XAML UI、および C#、VB、C++ のバックエンド
  • DirectX UI および C++ バックエンド
  • JavaScript と HTML

Microsoft Visual Studio 2017 には、各言語の UWP アプリ用テンプレートが用意されており、すべてのデバイスを対象とした単一のプロジェクトを作成できます。 作業が終わったら、Visual Studio 内でアプリ パッケージを生成し、Windows ストアに提出できます。これで、すべての Windows 10 デバイスのユーザーがそのアプリを利用できるようになります。

Windows での UWP アプリの実現

Windows では、アプリが、関連するリアルタイム情報をユーザーに表示し、ユーザーが何度も戻ってくるようにすることができます。 最新のアプリの経済活動において、アプリは、ユーザーの生活の中で常に最初に思い出されるように魅力的なものにしておく必要があります。 Windows では、ユーザーが繰り返しアプリを使うように、次のような多くのリソースを提供しています。

  • ライブ タイルとロック画面は、コンテキストに関連したタイムリーな情報をひとめでわかるように表示します。

  • プッシュ通知は、ユーザーが必要なときにリアルタイムの最新の通知に注目できるようにします。

  • アクション センターでは、ユーザーの操作を必要とする通知やコンテンツを整理して表示できます。

  • バックグラウンドの実行とトリガーにより、ユーザーが必要とするときだけアプリが有効になります。

  • アプリで音声と Bluetooth LE デバイスを使うと、ユーザーはそれらのデバイスを中心に広がる世界とやり取りすることができます。

  • リッチなデジタル インクと革新的な Dial をサポートします。

  • Cortana によって、ソフトウェアに個性が加わります。

  • XAML には、スムーズなアニメーション効果を持つユーザー インターフェイスを作成するためのツールが用意されています。

最終的に、ローミング データと Windows 資格情報保管ボックスを使うと、ユーザーがアプリを実行するすべての Windows 画面で一貫したローミング エクスペリエンスを実現できます。 ローミング データを使うと、独自の同期インフラストラクチャを構築する必要なく、ユーザーの基本設定とその他の設定をクラウドに簡単に保存できます。 資格情報保管ボックスには、ユーザーの資格情報を保存できます。このボックスにおける最優先事項はセキュリティと信頼性です。

アプリの収益の獲得

Windows では、好きな方法で (電話、タブレット、PC、その他のデバイス) アプリから収益を得る方法を選ぶことができます。 ここでは、アプリとアプリが提供するサービスで収益を得るさまざまな方法について説明します。 必要なのは、ニーズに合った最適な方法を選ぶことだけです。

  • 有料のダウンロードは最も簡単な方法です。 必要な作業は価格の指定だけです。
  • 試用版を使うとユーザーは購入前にアプリを試すことができ、従来の "フリーミアム" オプションよりも目につきやすく、コンバージョンも簡単です。
  • アプリとアドオンの販売価格を使用します。
  • アプリ内購入と広告も利用できます。

作業の開始

UWP について詳しくは、ユニバーサル Windows プラットフォーム アプリのガイドをご覧ください。 その後で、「準備」を確認し、アプリの作成を始めるために必要なツールをダウンロードしてから、初めてのアプリを作成してください。

高度なトピック