ユニバーサル Windows プラットフォーム (UWP) アプリとはWhat's a Universal Windows Platform (UWP) app?

ユニバーサル Windows プラットフォーム (UWP) とは、Windows 10 用のアプリ プラットフォームです。The Universal Windows Platform (UWP) is the app platform for Windows 10. API セット、アプリ パッケージ、ストアをそれぞれ 1 つ使うだけで、すべての Windows 10 デバイス (PC、タブレット、電話、Xbox、HoloLens、Surface Hub など) で利用可能な UWP 用アプリを開発できます。You can develop apps for UWP with just one API set, one app package, and one store to reach all Windows 10 devices – PC, tablet, phone, Xbox, HoloLens, Surface Hub and more. また、多数の画面サイズや、さまざまな対話方式 (タッチ、マウスとキーボード、ゲーム コントローラー、ペン) をサポートすることも簡単になります。It’s easier to support a number of screen sizes, and also a variety of interaction models, whether it be touch, mouse and keyboard, a game controller, or a pen. UWP アプリの中核となるのは、ユーザーがすべてのデバイスでモバイル エクスペリエンスを手に入れたい、目の前の作業に一番便利で効率的なデバイスを使いたいという考え方です。At the core of UWP apps is the idea that users want their experiences to be mobile across ALL their devices, and they want to use whatever device is most convenient or productive for the task at hand.

UWP には柔軟性もあります。必要でなければ、C# や XAML を使用しなくても問題ありません。UWP is also flexible: you don't have to use C# and XAML if you don't want to. Unity や MonoGame での開発がお好みでも、Do you like developing in Unity or MonoGame? JavaScript がお好みでもPrefer JavaScript? 問題はありません。お好きな言語を使用できます。Not a problem, use them all you want. UWP の機能を使って拡張し、ストアでの販売を希望する C++ デスクトップ アプリがある場合もHave a C++ desktop app that you want to extend with UWP features and sell in the store? 問題ありません。That's okay, too.

つまり、使い慣れたプログラミング言語、フレームワーク、API を選んで作業に取り組み、すべてを 1 つのプロジェクトで管理して、まったく同じコードを現在存在するさまざまな Windows ハードウェアで動作させることができるのです。The bottom line: You can spend your time working with familiar programming languages, frameworks and APIs, all in single project, and have the very same code run on the huge range of Windows hardware that exists today. UWP アプリが完成したら、ストアに公開して世界中に届けることができます。Once you've written your UWP app, you can then publish it to the store for the world to see.

Windows デバイス

それでは、UWP アプリとは厳密に*どのようなものでしょうか。So, what *exactly is a UWP app?

UWP アプリの一番の特徴は何でしょうか。What makes a UWP app special? 以下に、Windows 10 の UWP アプリの特徴をいくつか挙げます。Here are some of the characteristics that make UWP apps on Windows 10 different.

  • すべてのデバイスに共通の API セットが用意されている。There's a common API surface across all devices.

    ユニバーサル Windows プラットフォーム (UWP) のコア API は、すべてのクラスの Windows デバイスに共通です。The Universal Windows Platform (UWP) core APIs are the same for all classes of Windows device. アプリがコア API のみを使う場合は、対象となるのがデスクトップ PC か、Xbox か、または Mixed Reality ヘッドセットかに関係なく、そのアプリはどの Windows 10 デバイスでも動作します。If your app uses only the core APIs, it will run on any Windows 10 device, no matter if you are targetting a desktop PC, an Xbox or a Mixed Reality headset.

  • 拡張 SDK により、特定のデバイスの種類でアプリが優れた機能を実現できる。Extension SDKs let your app do cool stuff on specific device types.

    拡張 SDK により、各デバイス クラスに特化した API が追加されます。Extension SDKs add specialized APIs for each device class. たとえば、UWP アプリが HoloLens を対象としている場合、通常の UWP のコア API に加えて、HoloLens 機能を追加できます。For example, if your UWP app targets HoloLens, you can add HoloLens features in addition to the normal UWP core APIs. ユニバーサル API を対象としている場合は、アプリ パッケージは Windows 10 が動作しているすべてのデバイスで実行できます。If you target the universal APIs, your app package can run on all devices that run Windows 10. ただし、UWP アプリが、特定のデバイス クラスで実行している際にデバイス固有の API を利用する場合は、API を呼び出す前に、API が存在するかどうかを実行時に確認してください。But if you want your UWP app to take advantage of device specific APIs in the event it is running on a particular class of device, you can check at run-time if an API exists before calling it.

  • アプリは .AppX パッケージ形式を使ってパッケージ化され、ストアで配布される。Apps are packaged using the .AppX packaging format and distributed from the Store.

    すべての UWP アプリは、AppX パッケージとして配布されます。All UWP apps are distributed as an AppX package. これにより、信頼できるインストール方法をユーザーに提供でき、アプリはシームレスに展開、更新できるようになります。This provides a trustworthy installation mechanism and ensures that your apps can be deployed and updated seamlessly.

  • 1 つのストアですべてのデバイスに対応する。There's one store for all devices.

    アプリ開発者として登録した後、アプリをストアに提出し、すべてまたは特定の種類のデバイス向けに販売できます。After you register as an app developer, you can submit your app to the store and make it available on all types device, or only those you choose. Windows デバイス向けのすべてのアプリを 1 か所で提出、管理できます。You submit and manage all your apps for Windows devices in one place.

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

    UI 要素には有効ピクセル (「UWP アプリ用レスポンシブ デザイン 101」を参照) が使われるため、UI 要素は、デバイスで利用可能な画面のピクセル数に基づいて動作するレイアウトに応じて最適化されます。UI elements use effective pixels (see Responsive design 101 for UWP apps), so they can respond with a layout that works based on the number of screen pixels available on the device. また、キーボード、マウス、タッチ、ペン、Xbox One コントローラーなど、さまざまな種類の入力デバイスで問題なく機能します。And they work well with multiple types of input such as keyboard, mouse, touch, pen, and Xbox One controllers. アプリが実行される特定のデバイスや画面サイズに合わせて UI をさらに調整する場合は、新しく追加されたレイアウト パネルとツールが便利です。If you need to further tailor your UI to a specific screen size or device, new layout panels and tooling help you adapt your UI to the devices your app may run on.

使い慣れた言語の使用Use a language you already know

UWP アプリは、オペレーティング システムに組み込まれているネイティブな API である Windows ランタイムを使います。UWP apps use the Windows Runtime, a native API built into the operating system. この API は C++ で実装され、C#、Visual Basic、C++、JavaScript でサポートされます。This API is implemented in C++ and supported in C#, Visual Basic, C++, and JavaScript. UWP でアプリを作成するための一部のオプションを次に示します。Some options for writing apps in UWP include:

  • XAML UI、および C#、VB、C++ のバックエンドXAML UI and a C#, VB, or C++ backend
  • DirectX UI および C++ バックエンドDirectX UI and a C++ backend
  • JavaScript と HTMLJavaScript and HTML

Microsoft Visual Studio 2017 には、各言語の UWP アプリ用テンプレートが用意されており、すべてのデバイスを対象とした単一のプロジェクトを作成できます。Microsoft Visual Studio 2017 provides a UWP app template for each language that lets you create a single project for all devices. 作業が終わったら、Visual Studio 内でアプリ パッケージを生成し、Windows ストアに提出できます。これで、すべての Windows 10 デバイスのユーザーがそのアプリを利用できるようになります。When your work is finished, you can produce an app package and submit it to the Windows Store from within Visual Studio to get your app out to customers on any Windows 10 device.

Windows での UWP アプリの実現UWP apps come to life on Windows

Windows では、アプリが、関連するリアルタイム情報をユーザーに表示し、ユーザーが何度も戻ってくるようにすることができます。On Windows, your app can deliver relevant, real-time info to your users and keep them coming back for more. 最新のアプリの経済活動において、アプリは、ユーザーの生活の中で常に最初に思い出されるように魅力的なものにしておく必要があります。In the modern app economy, your app has to be engaging to stay at the front of your users’ lives. Windows では、ユーザーが繰り返しアプリを使うように、次のような多くのリソースを提供しています。Windows provides you with lots of resources to help keep your users returning to your app:

  • ライブ タイルとロック画面は、コンテキストに関連したタイムリーな情報をひとめでわかるように表示します。Live tiles and the lock screen show contextually relevant and timely info at a glance.

  • プッシュ通知は、ユーザーが必要なときにリアルタイムの最新の通知に注目できるようにします。Push notifications bring real-time, breaking alerts to your user’s attention when they're needed.

  • アクション センターでは、ユーザーの操作を必要とする通知やコンテンツを整理して表示できます。The Action Center is a place where you can organize and display notifications and content that users need to take action on.

  • バックグラウンドの実行とトリガーにより、ユーザーが必要とするときだけアプリが有効になります。Background execution and triggers bring your app to life just when the user needs it.

  • アプリで音声と Bluetooth LE デバイスを使うと、ユーザーはそれらのデバイスを中心に広がる世界とやり取りすることができます。Your app can use voice and Bluetooth LE devices to help users interact with the world around them.

  • リッチなデジタル インクと革新的な Dial をサポートします。Support for rich, digital ink and the innovative Dial.

  • Cortana によって、ソフトウェアに個性が加わります。Cortana adds personality to your software.

  • XAML には、スムーズなアニメーション効果を持つユーザー インターフェイスを作成するためのツールが用意されています。XAML provides you with the tools to create smooth, animated user interfaces.

最終的に、ローミング データと Windows 資格情報保管ボックスを使うと、ユーザーがアプリを実行するすべての Windows 画面で一貫したローミング エクスペリエンスを実現できます。Finally, you can use roaming data and the Windows Credential Locker to enable a consistent roaming experience across all of the Windows screens where users run your app. ローミング データを使うと、独自の同期インフラストラクチャを構築する必要なく、ユーザーの基本設定とその他の設定をクラウドに簡単に保存できます。Roaming data gives you an easy way to store a user’s preferences and settings in the cloud, without having to build your own sync infrastructure. 資格情報保管ボックスには、ユーザーの資格情報を保存できます。このボックスにおける最優先事項はセキュリティと信頼性です。And you can store user credentials in the Credential Locker, where security and reliability are the top priority.

アプリの収益の獲得Monetize your app

Windows では、好きな方法で (電話、タブレット、PC、その他のデバイス) アプリから収益を得る方法を選ぶことができます。On Windows, you can choose how you'll monetize your app—across phones, tablets, PCs, and other devices. ここでは、アプリとアプリが提供するサービスで収益を得るさまざまな方法について説明します。We give you a number of ways to make money with your app and the services it delivers. 必要なのは、ニーズに合った最適な方法を選ぶことだけです。All you need to do is choose the one that works best for you:

  • 有料のダウンロードは最も簡単な方法です。A paid download is the simplest option. 必要な作業は価格の指定だけです。Just name your price.
  • 試用版を使うとユーザーは購入前にアプリを試すことができ、従来の "フリーミアム" オプションよりも目につきやすく、コンバージョンも簡単です。Trials let users try your app before buying it, providing easier discoverability and conversion than the more traditional "freemium" options.
  • アプリとアドオンの販売価格を使用します。Use sale prices for apps and add-ons.
  • アプリ内購入と広告も利用できます。In-app purchases and ads are also available.

作業の開始Let's get started

UWP について詳しくは、ユニバーサル Windows プラットフォーム アプリのガイドをご覧ください。For a more detailed look at the UWP, read the Guide to Universal Windows Platform apps. その後で、「準備」を確認し、アプリの作成を始めるために必要なツールをダウンロードしてから、初めてのアプリを作成してください。Then, check out Get set up to download the tools you need to start creating apps, and then write your first app!

高度なトピックMore advanced topics