コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

「ユニバーサルWindowsプラットフォーム」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
Cewbot (会話 | 投稿記録)
m Bot作業依頼: ブランドとしてのXboxの記事作成に伴うリンク修正 - log
Cewbot (会話 | 投稿記録)
14行目: 14行目:
UWPアプリの開発環境としてフルサポートされるOSはWindows 10のみだが、Visual Studio 2015ではUWPアプリ用[[シミュレーション|シミュレーター]]のほかに[[エミュレータ|エミュレーター]]もサポートされ、[[Windows 8.1]]ではクロスコンパイル{{efn|ただしXAMLデザイナーは使用できない。}}、リモートWindows 10上での実行、およびエミュレーター上での実行がサポートされる。
UWPアプリの開発環境としてフルサポートされるOSはWindows 10のみだが、Visual Studio 2015ではUWPアプリ用[[シミュレーション|シミュレーター]]のほかに[[エミュレータ|エミュレーター]]もサポートされ、[[Windows 8.1]]ではクロスコンパイル{{efn|ただしXAMLデザイナーは使用できない。}}、リモートWindows 10上での実行、およびエミュレーター上での実行がサポートされる。


また、「Windows Bridge」と呼ばれる、[[iOS (アップル)|iOS]]や[[Android]]向けのアプリケーションプロジェクトをUWPアプリとして変換・ポーティングする仕組みや、従来のデスクトップアプリケーションをUWPアプリとしてパッケージする仕組みの提供も予定されている<ref>[https://developer.microsoft.com/ja-jp/windows/bridges ユニバーサル Windows プラットフォーム ブリッジ - Windows アプリの開発]</ref>。ただし、「Windows Bridge for Android」に関しては、2016年2月に開発プロジェクトの中止が発表された<ref>[https://blogs.windows.com/buildingapps/2016/02/25/an-update-on-the-developer-opportunity-and-windows-10/ An Update on the Developer Opportunity and Windows 10 | Building Apps for Windows]</ref>。
また、「Windows Bridge」と呼ばれる、[[iOS (アップル)|iOS]]や[[Android (オペレーティングシステム)|Android]]向けのアプリケーションプロジェクトをUWPアプリとして変換・ポーティングする仕組みや、従来のデスクトップアプリケーションをUWPアプリとしてパッケージする仕組みの提供も予定されている<ref>[https://developer.microsoft.com/ja-jp/windows/bridges ユニバーサル Windows プラットフォーム ブリッジ - Windows アプリの開発]</ref>。ただし、「Windows Bridge for Android」に関しては、2016年2月に開発プロジェクトの中止が発表された<ref>[https://blogs.windows.com/buildingapps/2016/02/25/an-update-on-the-developer-opportunity-and-windows-10/ An Update on the Developer Opportunity and Windows 10 | Building Apps for Windows]</ref>。


== 歴史 ==
== 歴史 ==

2020年9月6日 (日) 08:51時点における版

ユニバーサルWindowsプラットフォーム(Universal Windows Platform:ユニバーサル ウィンドウズ プラットフォーム、略称:UWP)とは、異なるデバイス向けに提供されるMicrosoft Windows用のアプリケーションソフトウェアを共通の基盤上で動作させることのできる、統合されたプラットフォームのことである。

概要

ユニバーサルWindowsプラットフォームは、Windows 10にて導入された、様々なデバイス上で動作するアプリケーションを単一のフレームワーク上に統合する仕組みである。ターゲットデバイスを設定することで、すべてのデバイスで共通となる基本APIセットに対してデバイス固有のAPIセットを付加する形で、デバイス固有の機能を使ったUWPアプリを開発することができる[1]

UWPアプリの開発には、主にC#/VB.NET/C++[注釈 1]言語とXAML、もしくはJavaScript言語とHTMLを用いる。ベースとなるフレームワークはWindowsランタイム (WinRT) だが、デバイスに応じてWindows APIDirectX、そして.NET Frameworkを用いることも可能である。

UWPアプリに対応する最初の統合開発環境Visual Studio 2015である。Visual StudioにてUWPアプリのプロジェクトをリリース用にビルドすると、「.NETネイティブ」と呼ばれる技術により、C#/VB.NETによって記述されたマネージコードは共通中間言語からターゲットとなるプロセッサー (CPU) アーキテクチャ固有のバイナリ(x86/x64/ARM)にコンパイルされる[2]。これにより、アプリケーションのパフォーマンス向上やランタイム依存関係の排除といったメリットが享受できるようになる。

UWPアプリの開発環境としてフルサポートされるOSはWindows 10のみだが、Visual Studio 2015ではUWPアプリ用シミュレーターのほかにエミュレーターもサポートされ、Windows 8.1ではクロスコンパイル[注釈 2]、リモートWindows 10上での実行、およびエミュレーター上での実行がサポートされる。

また、「Windows Bridge」と呼ばれる、iOSAndroid向けのアプリケーションプロジェクトをUWPアプリとして変換・ポーティングする仕組みや、従来のデスクトップアプリケーションをUWPアプリとしてパッケージする仕組みの提供も予定されている[3]。ただし、「Windows Bridge for Android」に関しては、2016年2月に開発プロジェクトの中止が発表された[4]

歴史

マイクロソフト製のWindows OSやデバイスは、デスクトップPCやノートPCなどPC向けのWindows、サーバー向けのWindows Server、組み込み向けのWindows Embedded (Windows CE)、スマートフォン向けのWindows MobileWindows Phone、そしてゲーム専用機のXboxシリーズなど、デバイスごとに異なるカーネルコードから構築されたOSがそれぞれ用意され、またAPISDK、アプリケーションフレームワークもOSごとに異なっていた。PC/サーバーに関してはWindows Vista/Windows Server 2008においてカーネルコードの共通化[5] [6]が図られたが、それ以外のプラットフォームでは依然として分断が続いていた。

2006年にはWindows XP/Windows VistaおよびXbox 360上で動作するゲームアプリケーションを統一的に開発することのできるインディーズ向けの開発・実行環境としてXNA Game Studio/XNA Frameworkがリリースされた。ただしXNAは.NET Framework/.NET Compact Framework上で動作し、また開発にはC#言語を必要とするため、ゲーム開発会社が手掛けるパッケージソフトのようにC++言語を使ったネイティブコードによる開発やアセンブラによるチューニングは行なうことができず、パフォーマンスが重要となるゲーム開発では大きな制約となった[7]。XNAはその後Windows Phone 7で動作するゲームの開発にも対応した。

2009年にリリースされたWindows 7では、マルチタッチAPIが標準搭載され、タッチパネルを活用したデスクトップアプリケーションを開発できるようになった[8]が、OS全体レベルでのモバイル機器への最適化やモバイルOSとのプラットフォームの共通化は行なわれていなかった。

2012年にリリースされたWindows 8では、従来のWindows APIベース(ネイティブコード)のデスクトップアプリケーションや.NET Frameworkベース(マネージコード)のデスクトップアプリケーションに加えて、新たにWindowsランタイム (WinRT) をフレームワークとするWindowsストアアプリが登場した。Windowsストアアプリは、C#/VB.NET/C++言語 + XAMLもしくはJavaScript言語 + HTMLを用いて開発される、Windowsストアを通して配布される、そしてWinRTのサンドボックス内で動作するなどの特徴を持つ。またARMデバイス向けのWindows 8としてWindows RTがリリースされたが、Windows RT上で動作するアプリケーションの開発と配布はWindowsストアアプリのみに限定されていた。Windows Phone 8ではSilverlight/XNAアプリケーションやWindows Phone向けのWinRT (WinPRT) アプリケーションが動作するが、Windows 8/Windows RT向けとは異なるSDKを用いて別々に開発する必要があり、ソースコードの互換性も確保されていなかった。

2013年にリリースされたWindows 8.1/Windows RT 8.1および2014年にリリースされたWindows Phone 8.1では、WinRTベースの「ユニバーサルWindowsアプリ」としてプラットフォームが統合され、ソースコードの互換性も向上した[9]

そして2015年にリリースされたWindows 10では初めて、Xbox OneIoT向けなどを含めてOSの中核部分が単一に統合され、あらゆるデバイスに対するアプリケーションの基盤を統合するための仕組みとして「ユニバーサルWindowsプラットフォーム」が用意されることになった[10]。Windows 10ではまた、「ユニバーサルWindowsドライバー(Universal Windows Driver、略称:UWD)」として、UWPベースの新しいデバイスドライバーAPIセットが定義され、複数のデバイス向けのドライバーを共通のインターフェイスで開発することが可能となった[11] [12] [13]

脚注

注釈

  1. ^ C++に関しては、C++/CX英語版と呼ばれるマイクロソフト独自の拡張が施された言語を用いることになる。なおC++/CXはC++/CLIとは異なり、マネージ言語拡張ではなくネイティブ言語拡張となっている。
  2. ^ ただしXAMLデザイナーは使用できない。

出典

関連項目