ユニバーサル Windows プラットフォーム

ユニバーサル Windows プラットフォーム
開発者マイクロソフト
オペレーティング·システムWindows 10Windows 10 MobileWindows 11Xbox システム ソフトウェアWindows Mixed Reality
プラットフォームIA-32x86-64ARM32ARM64
タイプコンピューティングプラットフォーム
Webサイト.microsoft .com /en-us /windows /uwp /を学ぶ

ユニバーサル Windows プラットフォーム( UWP ) は、 Microsoftが作成し、Windows 10で導入されたコンピューティング プラットフォームです。このプラットフォームの目的は、Windows 10、Windows 10 Mobile (廃止)、Windows 11Xbox OneXbox Series X/SHoloLensで実行されるユニバーサル アプリを、それぞれのために書き直すことなく開発できるようにすることです。C ++C#VB.NETXAMLを使用したWindowsアプリ開発をサポートしています。APIC++ で実装されており、C++、VB.NET、C#、F#JavaScriptでサポートされています。[ 1 ] Windows Server 2012およびWindows 8で導入されたWindows ランタイム (WinRT)プラットフォームの拡張機能として設計されたUWP を使用すると、開発者は複数の種類のデバイスで実行される可能性のあるアプリを作成できます。[ 2 ]

UWPはMicrosoft以外のシステムを対象としていません。Microsoftの他のプラットフォーム向けのソリューションは、2016年からMicrosoftの子会社であるXamarinによって作成されたオープンソースAPIである.NET MAUI(旧称「Xamarin.Forms[ 3 ] )です。また、 Uno Platformなど、非対象プラットフォーム向けのコミュニティソリューションも存在します。UWPは2021年10月に廃止されました。[ 4 ]

互換性

UWP は、Windows 10、Windows 10 Mobile、Windows 11 の一部です。UWP アプリは、以前のバージョンの Windows では実行されません。

このプラットフォームを実装できるアプリは、Visual Studio 2015Visual Studio 2017Visual Studio 2019、またはVisual Studio 2022を使用してネイティブに開発されています。Windows 8.1Windows Phone 8.1 、またはその両方(ユニバーサル8.1)向けの古いMetroスタイルアプリは、UWPに移行するために変更が必要です。[ 5 ] [ 6 ]

後期バージョンのWindowsプラットフォーム機能の一部は、UWPおよびそれ専用にパッケージ化されたソフトウェア専用であり、既存のWinAPIWPFWindows Formsなどの他のアーキテクチャでは使用できません。しかし、2019年現在、Microsoftはこれらのアプリケーションプラットフォーム間のパリティを高め、UWP機能を非UWPソフトウェア内で使用できるようにする措置を講じています。Microsoftは、Windows 10の2019年5月の更新プログラムの一部としてXAML Islands(UWPコントロールとウィジェットを非UWPソフトウェアに埋め込む方法)を導入し、パッケージ化されていないソフトウェア内でUWP関数とWindowsランタイムコンポーネントを呼び出すこともできるようにすると述べました。[ 7 ]

APIブリッジ

UWPブリッジは、他のアプリケーションプログラミングインターフェース(API)の呼び出しをUWPインターフェースに変換し、これらのAPIで記述されたアプリケーションをUWP上で実行できるようにします。2015 Build基調講演では、 AndroidアプリとiOSアプリをWindows 10 Mobileに移植するための2つのブリッジが発表されました。[ 8 ]マイクロソフトは2022年1月まで、Windowsデスクトップアプリ、プログレッシブウェブアプリMicrosoft Silverlight、iOSのCocoa Touch API向けのブリッジのサポートを維持していました。[ 9 ]

iOS

iOS 用 Windows ブリッジ (WinObjC)
開発者マイクロソフト
初回リリース2015年8月6日 ( 2015-08-06 )
書かれたObjective-C++Objective-CCC++
タイプミドルウェア
ライセンスMITライセンス
Webサイト開発者.microsoft .com /en-us /windows /bridges /ios /
リポジトリgithub .com /microsoft /WinObjC

iOS用Windows Bridge(コードネーム「Islandwood」)は、Visual Studio 2015を使用してXcodeプロジェクトをVisual Studioプロジェクトに変換することで、Objective-Cで開発されたiOSアプリをWindows 10に移植できるオープンソースのミドルウェアツールキットです。 [ 8 ] [ 10 ] [ 11 ] iOS用Windows Bridgeの初期ビルドは、2015年8月6日にMITライセンスの下でオープンソースソフトウェアとしてリリースされましたが、Android版はクローズドベータ版でした。[ 8 ]

この「WinObjC」プロジェクトはGitHubでオープンソース化されています。CocotronやGNUstepといった既存のCocoa Touch実装のコードに加え、 UWPメソッドを用いてiOSフレームワークを実装したMicrosoft独自のコードも含まれています。LLVM clangコンパイラのバージョンを使用しています。[ 12 ]

アンドロイド

Windows Bridge for Android(コードネーム「Astoria」)は、JavaまたはC++で記述されたAndroidアプリをWindows 10 Mobile上で実行し、Microsoft Storeで公開できるようにするランタイム環境でした。Windows Developer PlatformのテクニカルリードであるKevin Gallo氏は、このレイヤーにはいくつかの制限があると説明しました。Google Mobile Servicesと特定のコアAPIは利用できず、メッセージングソフトウェアなど「バックグラウンドタスクに深く統合された」アプリはこの環境ではうまく動作しません。[ 13 ] [ 14 ]

2016年2月、マイクロソフトは、iOSが既にマルチプラットフォーム開発の主要プラットフォームとなっていることによる冗長性、およびiOS向けWindows Bridgeはネイティブコードを生成するためOSレベルのエミュレーターを必要としないことを理由に、Android向けWindows Bridgeの開発を中止したと発表した。代わりに、マイクロソフトは発表前に買収したXamarinのツールを活用し、マルチプラットフォームアプリ開発にC#の使用を推奨した。 [ 15 ] [ 16 ] [ 17 ] 2021年、マイクロソフトはWindows 11でOSレベルのエミュレーターを使用してAndroidアプリを実行できるようにし、アプリをストアにインストールできるようにした。[ 18 ]

展開

UWP は、 CoreApplication クラスとWindows ランタイム(WinRT)に基づくアプリケーション モデルを提供します。[ 1 ] UWP を使用して作成されたユニバーサル Windows アプリは、マニフェスト ビルドで特定の OS 用に作成されたことが示されなくなりました。代わりに、ユニバーサル Windows プラットフォーム ブリッジを使用して、PC、スマートフォン、タブレット、 Xbox Oneなどの 1 つ以上のデバイス ファミリを対象とします。これらの拡張機能により、アプリは現在実行中の特定のデバイスで利用可能な機能を自動的に利用できます。[ 19 ]ユニバーサル アプリは、携帯電話またはタブレットのいずれかで実行でき、それぞれに適したエクスペリエンスを提供できます。スマートフォンで実行されるユニバーサル アプリは、電話をデスクトップ コンピューターまたは適切なドッキング ステーションに接続すると、PC で実行されている場合と同じように動作し始める場合があります。[ 20 ]

受付

UWP向けに開発されたゲームには、マルチビデオカード構成との非互換性、ゲームのMOD作成の難しさ、ゲームプレイ重視のチャットクライアントのオーバーレイ、キーバインドマネージャーなど、技術的な制限があります。[ 21 ] UWPはDirectX 11.1以降のみをサポートするため、それより古いバージョンのDirectXで作成されたゲームは動作しません。 [ 22 ] Build 2016において、MicrosoftのXbox部門責任者であるフィル・スペンサーは、同社がPCゲーム向けUWPの実現可能性を向上させるための問題に対処しようとしていると発表し、「Microsoftは、オーバーレイやMOD作成などの追加機能のサポートに加え、フルスクリーンゲームのパフォーマンスの期待値を満たすか、それを上回ることを確実にすることに尽力している」と述べました。AMD FreeSyncNvidia G-Syncテクノロジのサポート、およびV-syncの無効化は、後にUWPに追加されました。[ 23 ] [ 24 ]

Epic Gamesの創設者ティム・スウィーニー氏は、UWPが「ウォールド・ガーデン」であると批判した。UWPソフトウェアはデフォルトではWindowsストア経由でのみ公開・インストールが可能で、外部ソフトウェアのインストールを可能にするにはシステム設定の変更が必要となる(Androidと同様)。さらに、一部のOS機能はUWP専用であり、ほとんどのビデオゲームなど、UWP以外のソフトウェアでは利用できない。スウィーニー氏はこれらの動きを、PCをクローズドプラットフォームへと変革しようとする「マイクロソフトがこれまでに行った中で最も積極的な動き」と評し、これらの動きはSteamなどのサードパーティ製ゲームストアを不利な立場に置くことを意図していると考えている。なぜなら、マイクロソフトは「ユーザーがフル機能のPCソフトウェアをインストールする自由を制限し、開発者やパブリッシャーが顧客と直接的な関係を維持する権利を侵害している」からだ。そのため、スウィーニー氏は、エンドユーザーはUWPソフトウェアを非UWPソフトウェアと同じようにダウンロードしてインストールできるべきだと主張した。[ 25 ]

Windows担当副社長のケビン・ギャロ氏はスウィーニー氏の懸念に応え、「Windows 10の11月のアップデートでは、 UXを必要とせず、デフォルトでアプリのサイドロードを容易に行えるようにしました。私たちは、Windowsをテクノロジの種類を問わず最高の開発プラットフォームにしたいと考えています。HTML/JavaScript、.NET、Win32、C++、Objective-Cといった既存のコードベースを持つ開発者がWindowsにコードを移植し、UWPの機能を統合するためのツールも提供しています。Xamarinを使用することで UWP開発者はすべてのWindows 10デバイスに対応できるだけでなく、C#コードの大部分を使用して、iOSとAndroid向けの完全にネイティブなモバイルアプリ体験を提供できるようになります。」と述べた。[ 26 ]

2016年のE3報道中にGiant Bombとのライブインタビューで、スペンサー氏はUWP専用リリースに対する賛否両論の反応について弁明し、「全てが順調に進んだわけではない。中にはうまくいったものもある」と述べ、「UWPとストアが何らかの形で悪意ある形で結びついているのではないかという懸念は依然としてあるが、それは事実ではない」と述べた。また、スペンサー氏はSteamなどのサードパーティ開発者やディストリビューターとの関係についても触れ、Steamは「Windowsにおけるゲームの成功に不可欠な要素」だと考えており、マイクロソフトは今後も自社プラットフォームだけでなくSteamでもゲームをリリースしていく予定だが、「協力する分野もあれば、競合する分野もあるだろう。最終的にはゲーマーにとってより良い結果になるだろう」と述べた。スペンサー氏はまた、スウィーニー氏の友人であり、頻繁に連絡を取り合っていたとも述べた。[ 27 ] [ 28 ]

2019年5月30日、マイクロソフトはMicrosoft StoreでWin32ゲームの配信をサポートすると発表した。スペンサー(後にマイクロソフトの全ゲーム事業の責任者に昇進し、CEOのサティア・ナデラ直属となった)は、開発者がこのアーキテクチャを好んでおり、「開発者とプレイヤーがオープンなWindowsゲームエコシステムに期待するカスタマイズとコントロールを可能にする」と説明した。また、Xbox Game StudiosのWindows向けリリースは、Microsoft Store限定ではなく、Steamなどのサードパーティストアでも提供される予定であると発表された。[ 29 ] [ 30 ]

参考文献

  1. ^ a b「ユニバーサル Windows アプリとは?」 . Microsoft Developer Network . Microsoft . 2018年5月7日. 2019年4月29日閲覧
  2. ^ 「デザイナー向けユニバーサル Windows プラットフォーム (UWP) アプリ入門」。Microsoft Developer Network。Microsoft2018年5月5日。 2019年2月22日時点のオリジナルよりアーカイブ。 2019年4月29日閲覧
  3. ^ 「Microsoft Build 2020 からの Xamarin アップデート」。Xamarinブログ。2020 年 5 月 19 日。20221 月 21 日閲覧
  4. ^ 「Microsoft:ユニバーサルWindowsプラットフォームはついに終了」。2021年10月20日。
  5. ^ 「アプリをユニバーサル Windows プラットフォーム (UWP) に移行する」 . Microsoft Developer Network . Microsoft . 2015年7月31日閲覧
  6. ^ 「Windows Runtime 8.x から UWP への移行」 . Microsoft Developer Network . Microsoft . 2017年2月8日. 2019年4月29日閲覧
  7. ^フォーリー、メアリー・ジョー。「マイクロソフトは『Windowsアプリ』でUWPとWin32の溝を埋めたい」 . ZDNet . 2019年5月8日閲覧。
  8. ^ a b c Hachman, Mark (2015年8月6日). 「Microsoft、iOSからWindowsへのアプリ開発ツール「Windows Bridge」をオープンソース化」 . PC World . IDG . 2015年10月9日閲覧
  9. ^ 「ユニバーサル Windows プラットフォーム ブリッジ - Windows アプリ開発」。Microsoft Developer
  10. ^ Chester, Brandon (2015年4月29日). 「Microsoft、Windows 10で動作するAndroidおよびiOSアプリケーションをデモ」 . Anandtech . Purch Inc. 2015年5月1日時点のオリジナルよりアーカイブ。 2015年10月9日閲覧
  11. ^ Protalinski, Emil (2015年5月1日). 「AndroidアプリとiOSアプリをWindows 10に移植するために必要なことすべて」 . VentureBeat . 2015年10月9日閲覧
  12. ^ "microsoft/WinObjC: Windows 用 Objective-C" . GitHub . Microsoft. 2020年2月16日.
  13. ^ Branscombe, Mary (2015年5月11日). 「Windows 10 for Phones で Android のサポートはどのように機能するのか?」 TechRadar . 2015年10月9日閲覧
  14. ^ Bright, Peter (2015年4月29日). 「Microsoft、AndroidとiOSアプリをWindows 10に導入」 . Ars Technica . 2015年10月9日閲覧
  15. ^ Jo Foley, Mary (2016年2月24日). 「MicrosoftがモバイルツールベンダーXamarinを買収」 . ZDNet . CBS Interactive . 2019年4月29日閲覧
  16. ^ Jo Foley, Mary (2016年2月25日). 「Microsoft: AndroidとWindows 10のブリッジは終了、しかしiOSとWin32のブリッジは前進」 . ZDNet . 2016年2月26日閲覧
  17. ^ Bright, Peter (2016年2月26日). 「Microsoft、Android-on-Windows Astoria技術は廃止されると発表」 Ars Technica . Conde Nast . 2019年4月29日閲覧
  18. ^ 「Windows 11でAndroidアプリを実行する方法」。2022年3月14日。
  19. ^ Domingo, Michael (2015年5月1日). 「ユニバーサル Windows プラットフォーム ブリッジの内側」 . Visual Studio Magazine . 2015年10月9日閲覧
  20. ^ Radich, Quinn; Satran, Michael; Whitney, Tyler; Jacobs, Mike; Weston, Susan; Das, Debalin (2018年5月7日). 「ユニバーサル Windows プラットフォーム (UWP) アプリガイド」 . Windows デベロッパー センター. Microsoft . 2019年5月10日閲覧
  21. ^ 「MicrosoftはWindowsストアのPCゲームにコンソールのような制限を課すのをやめる必要がある」 Ars Technica、Conde Nast、2016年2月29日。 2016年3月30日閲覧
  22. ^ 「DirectXユニバーサルWindowsプラットフォーム(UWP)ゲームを作成する - UWPアプリケーション」 . learn.microsoft.com . 2022年10月20日.
  23. ^ Hruska, Joel (2016年5月10日). 「Windows 10の新機能でFreeSync、G-Sync、フレームレートのロック解除がサポートされる」 . ExtremeTech . 2019年5月10日閲覧
  24. ^ Makuch, Eddie (2016年3月30日). 「Xboxのボス、PCゲームについて語る:「フィードバックは大声で明確に聞き取れました」 . GameSpot . 2018年5月10日閲覧。
  25. ^ウォルトン、マーク(2016年3月4日)「Epic CEO:「ユニバーサルWindowsプラットフォームは消滅する可能性があり、消滅すべきであり、消滅しなければならない、そして消滅するだろう」 . Ars Technica . Conde Nast . 2019年5月10日閲覧
  26. ^ Takahashi, Dean (2016年3月4日). 「EpicのTim Sweeney氏、MicrosoftのオープンWindowsプラットフォームへの取り組みに疑問を呈す」 . VentureBeat . 2017年3月20日時点のオリジナルよりアーカイブ。 2017年9月17日閲覧
  27. ^ Bright, Peter (2016年6月16日). 「MicrosoftはWindowsゲームを自社ストアだけでなくSteamでも販売する予定」 Ars Technica . Condé Nast .
  28. ^ Makuch, Eddie (2016年6月15日). 「Xboxの責任者がSteam版のリリース予定を発表、PC版の苦戦についても語るGameSpot.CBS Interactive .
  29. ^ Spencer, Phil (2019年5月30日). 「PCゲームへのアプローチ」 . Xbox . 2019年5月30日閲覧
  30. ^ Humphries, Matthew (2019年5月30日). 「Microsoft、PC向けXbox Game Passを予告」 . PCMag . 2019年5月30日閲覧