| 開発者 | マイクロソフト |
|---|---|
| オペレーティング·システム | Windows 10、Windows 10 Mobile、Windows 11、Xbox システム ソフトウェア、Windows Mixed Reality |
| プラットフォーム | IA-32、x86-64、ARM32、ARM64 |
| タイプ | コンピューティングプラットフォーム |
| Webサイト | learn.microsoft.com/en-us/windows/uwp/ |
ユニバーサル Windows プラットフォーム( UWP ) は、 Microsoftが作成し、Windows 10で導入されたコンピューティング プラットフォームです。このプラットフォームの目的は、それぞれのために書き直すことなく、 Windows 10、Windows 10 Mobile (廃止)、Windows 11、Xbox One、Xbox Series X/S、HoloLensで実行されるユニバーサル アプリの開発を支援することです。C ++、C#、VB.NET、XAML を使用したWindowsアプリ開発をサポートしています。APIはC++ で実装され、C++、VB.NET、C#、F#、JavaScriptでサポートされています。[1] Windows Server 2012およびWindows 8で導入されたWindows ランタイム (WinRT)プラットフォームの拡張機能として設計されたUWP を使用すると、開発者は複数の種類のデバイスで実行される可能性のあるアプリを作成できます。[2]
UWPはマイクロソフト以外のシステムを対象としていません。マイクロソフトの他のプラットフォーム向けのソリューションは、2016年からマイクロソフトの子会社であるXamarinによって作成されたオープンソースAPIである.NET MAUI(旧称「Xamarin.Forms」[3] )です。Uno Platformなど、対象としていないプラットフォーム向けのコミュニティソリューションも存在します。
互換性
UWP は、Windows 10、Windows 10 Mobile、Windows 11 の一部です。UWP アプリは、以前のバージョンの Windows では実行されません。
このプラットフォームを実装できるアプリは、Visual Studio 2015、Visual Studio 2017、Visual Studio 2019、またはVisual Studio 2022を使用してネイティブに開発されます。Windows 8.1、Windows Phone 8.1 、またはその両方(ユニバーサル8.1)向けの古いMetroスタイルアプリは、UWPに移行するために変更が必要です。[4] [5]
後期バージョンのWindowsプラットフォーム機能の一部は、UWPとそれ専用にパッケージ化されたソフトウェア専用であり、既存のWinAPI、WPF、Windows Formsなどの他のアーキテクチャでは使用できません。ただし、2019年現在、Microsoftはこれらのアプリケーションプラットフォーム間のパリティを高め、UWP機能を非UWPソフトウェア内で使用できるようにする措置を講じています。Microsoftは、Windows 10の2019年5月の更新プログラムの一部としてXAML Islands(UWPコントロールとウィジェットを非UWPソフトウェアに埋め込む方法)を導入し、パッケージ化されていないソフトウェア内でUWP関数とWindowsランタイムコンポーネントを呼び出すこともできるようにすると述べました。[6]
API ブリッジ
UWP ブリッジは、他のアプリケーション プログラミング インターフェイス(API) の呼び出しを UWP インターフェイスに変換し、これらの API で記述されたアプリケーションが UWP 上で実行されるようにします。2015 Build基調講演では、 AndroidおよびiOSアプリを Windows 10 Mobile に移植するための 2 つのブリッジが発表されました。[7]マイクロソフトは、2022 年 1 月まで、Windows デスクトップ アプリ、プログレッシブ ウェブ アプリ、Microsoft Silverlight、iOS のCocoa Touch API のブリッジのサポートを維持しました。[8]
iOS
| 開発者 | マイクロソフト |
|---|---|
| 初回リリース | 2015年8月6日 |
| リポジトリ | github.com/microsoft/WinObjC |
| 書かれた | Objective-C++、Objective-C、C、C++ |
| タイプ | ミドルウェア |
| ライセンス | MITライセンス |
| Webサイト | 開発者.microsoft.com/en-us/windows/bridges/ios/ |
iOS用Windows Bridge (コードネーム 「Islandwood」)は、Visual Studio 2015を使用してXcodeプロジェクトをVisual Studioプロジェクトに変換することで、Objective-Cで開発されたiOSアプリをWindows 10に移植できるようにするオープンソースのミドルウェアツールキットです。[ 7 ] [ 9 ] [ 10 ] iOS用Windows Bridgeの初期ビルドは、2015年8月6日にMITライセンスの下でオープンソースソフトウェアとしてリリースされましたが、Androidバージョンはクローズドベータでした。[7]
この「WinObjC」プロジェクトはGitHubでオープンソースとして公開されています。CocotronやGNUstepなどのCocoa Touchの既存のさまざまな実装のコードと、UWPメソッドを使用してiOSフレームワークを実装するMicrosoft独自のコードが含まれています。LLVM clangコンパイラのバージョンを使用しています。[11]
アンドロイド
Windows Bridge for Android (コードネーム「Astoria」)は、 JavaまたはC++で書かれたAndroidアプリをWindows 10 Mobileで実行し、Microsoft Storeに公開できるようにするランタイム環境だった。Windows Developer PlatformのテクニカルリードであるKevin Galloは、このレイヤーにはいくつかの制限があると説明した。Google Mobile Servicesと特定のコアAPIは利用できず、メッセージングソフトウェアなどの「バックグラウンドタスクに深く統合された」アプリはこの環境ではうまく動作しない。[12] [13]
2016年2月、マイクロソフトは、iOSが既にマルチプラットフォーム開発の主要プラットフォームとなっていることによる冗長性、およびiOS向けWindows Bridgeはネイティブコードを生成し、OSレベルのエミュレーターを必要としないことを理由に、Android向けWindows Bridgeの開発を中止したと発表した。代わりに、マイクロソフトは発表前に買収したXamarinのツールを使用して、マルチプラットフォームアプリ開発にC#の使用を推奨した。 [14] [15] [16] 2021年、マイクロソフトはWindows 11でOSレベルのエミュレーターを使用してAndroidアプリを実行できるようにし、アプリをストアにインストールできるようにした。[17]
展開
UWP は、CoreApplication クラスとWindows ランタイム(WinRT) に基づくアプリケーション モデルを提供します。[1] UWP を使用して作成されたユニバーサル Windows アプリは、マニフェスト ビルドで特定の OS 用に作成されたことが示されなくなりました。代わりに、ユニバーサル Windows プラットフォーム ブリッジを使用して、PC、スマートフォン、タブレット、 Xbox Oneなどの 1 つ以上のデバイス ファミリを対象とします。これらの拡張機能により、アプリは現在実行されている特定のデバイスで利用可能な機能を自動的に利用できます。[18]ユニバーサル アプリは、携帯電話またはタブレットのいずれかで実行でき、それぞれに適したエクスペリエンスを提供します。スマートフォンで実行されているユニバーサル アプリは、電話がデスクトップ コンピューターまたは適切なドッキング ステーションに接続されると、PC で実行されている場合と同じように動作し始める場合があります。[19]
受付
UWP向けに開発されたゲームには、マルチビデオカード設定との非互換性、ゲームの改造の難しさ、ゲームプレイ指向のチャットクライアントのオーバーレイ、キーバインディングマネージャーなど、技術的な制限があります。[20] UWPはDirectX 11.1以降のみをサポートするため、古いバージョンのDirectXで構築されたゲームは動作しません。 [21] Build 2016で、MicrosoftのXbox部門責任者であるフィル・スペンサーは、同社がPCゲームでのUWPの実行可能性を向上させる問題に対処しようとしていることを発表し、Microsoftは「オーバーレイ、改造などのサポートを含む追加機能だけでなく、フルスクリーンゲームのパフォーマンス期待を満たすか上回ることを確実にすることに尽力しています」と述べました。AMD FreeSyncおよびNvidia G-Syncテクノロジのサポート、およびV-syncの無効化は、後にUWPに追加された。[22] [23]
Epic Gamesの創設者ティム・スウィーニーは、 UWPはウォールド・ガーデンであると批判した。デフォルトではUWPソフトウェアはWindowsストア経由でのみ公開およびインストールでき、外部ソフトウェアのインストールを有効にするにはシステム設定を変更する必要があるためである(Androidと同様)。さらに、特定のオペレーティング・システムの機能はUWP専用であり、ほとんどのビデオゲームなどの非UWPソフトウェアでは使用できない。スウィーニーは、これらの動きをPCをクローズド・プラットフォームに変えようとする「マイクロソフトがこれまでに行った中で最も積極的な動き」と特徴づけ、これらの動きはSteamなどのサードパーティのゲーム・ストアフロントを不利にすることを意図していると感じた。マイクロソフトは「フル機能のPCソフトウェアをインストールするユーザーの自由を制限し、開発者やパブリッシャーが顧客と直接関係を維持する権利を侵害している」ためである。そのため、スウィーニーは、エンドユーザーはUWPソフトウェアを非UWPソフトウェアと同じ方法でダウンロードしてインストールできるべきだと主張した。[24]
Windows 担当副社長のケビン・ギャロはスウィーニーの懸念に応えて、「Windows 10 の 11 月のアップデートでは、UX を必要とせずに、デフォルトでアプリを簡単にサイドロードできるようにしました。私たちは、使用されるテクノロジに関係なく Windows を最高の開発プラットフォームにし、HTML/JavaScript、.NET と Win32、C++ と Objective-C の既存のコード ベースを持つ開発者がコードを Windows に持ち込み、UWP 機能を統合するのに役立つツールを提供したいと考えています。Xamarin を使用すると、UWP 開発者はすべての Windows 10 デバイスにアクセスできるだけでなく、C# コードの大部分を使用して、iOS と Android 向けの完全にネイティブなモバイル アプリ エクスペリエンスを提供できるようになります。」と述べています。[25]
2016年のE3報道中にジャイアントボムとのライブインタビューで、スペンサーはUWP限定リリースの賛否両論を擁護し、「すべてが順調に進んでいるわけではない。うまくいっているものもある」と述べ、「UWPと我々のストアが何らかの形で悪意ある形で結びついているのではないかという懸念は依然としてあるが、そうではない」と述べた。また、彼はSteamなどのサードパーティ開発者やディストリビューターとマイクロソフトの関係についても話し、このサービスは「Windowsでのゲームの成功に不可欠な要素」であると考えており、マイクロソフトは今後も自社プラットフォームだけでなくこのプラットフォームでもゲームをリリースしていく予定だが、「協力する分野もあれば、競争する分野もあるだろう。最終的にはゲーマーにとってより良い結果になるだろう」と述べた。スペンサーはまた、自分はスウィーニーの友人であり、頻繁に連絡を取っていたと述べた。[26] [27]
2019年5月30日、マイクロソフトはMicrosoft StoreでWin32ゲームの配信をサポートすると発表した。スペンサー(その後、マイクロソフトの全ゲーム事業の責任者に昇進し、CEOのサティア・ナデラ直属となった)は、開発者がこのアーキテクチャを好んでおり、「開発者とプレイヤーがオープンなWindowsゲームエコシステムに期待するカスタマイズと制御を可能にする」と説明した。また、Windowsでの将来のXbox Game Studiosリリースは、Microsoft Store専用ではなく、Steamなどのサードパーティのストアフロントで利用できるようになることも発表された。[28] [29]
参考文献
- ^ ab 「ユニバーサル Windows アプリとは?」。Microsoft Developer Network。Microsoft。2018年5 月 7 日。2019年4 月 29 日閲覧。
- ^ 「デザイナー向けユニバーサル Windows プラットフォーム (UWP) アプリ入門」。Microsoft Developer Network。Microsoft。2018年5 月 5 日。2019 年 2 月 22 日時点のオリジナルよりアーカイブ。2019年4 月 29 日閲覧。
- ^ 「Microsoft Build 2020 からの Xamarin アップデート」。Xamarin ブログ。2020 年 5 月 19 日。2022 年1 月 21 日閲覧。
- ^ 「アプリをユニバーサル Windows プラットフォーム (UWP) に移行する」。Microsoft Developer Network。Microsoft。2015年7月 31 日閲覧。
- ^ 「 Windows Runtime 8.x から UWP への移行」。Microsoft Developer Network。Microsoft。2017年2 月 8 日。2019 年4 月 29 日閲覧。
- ^ Foley, Mary Jo. 「Microsoft は『Windows アプリ』で UWP と Win32 の溝を埋めたい」ZDNet 。2019年5 月 8 日閲覧。
- ^ abc Hachman, Mark (2015 年 8 月 6 日)。「Microsoft が iOS から Windows へのアプリ メーカー Windows Bridge をオープン ソースでリリース」。PC World。IDG。2015年10月 9 日閲覧。
- ^ 「ユニバーサル Windows プラットフォーム ブリッジ - Windows アプリ開発」。Microsoft Developer。
- ^ Chester, Brandon (2015 年 4 月 29 日)。「Microsoft が Windows 10 で動作する Android および iOS アプリケーションをデモ」。Anandtech。Purch Inc。2015年10月 9 日閲覧。
- ^ Protalinski, Emil (2015 年 5 月 1 日)。「Android および iOS アプリを Windows 10 に移植する際に知っておくべきことすべて」。VentureBeat。2015年10 月 9 日閲覧。
- ^ 「microsoft/WinObjC: Windows 用 Objective-C」。GitHub。Microsoft。2020年 2 月 16 日。
- ^ Branscombe, Mary (2015 年 5 月 11 日)。「Windows 10 for Phones で Android のサポートはどのように機能するのか?」TechRadar。2015年10 月 9 日閲覧。
- ^ Bright, Peter (2015 年 4 月 29 日)。「Microsoft が Android および iOS アプリを Windows 10 に導入」Ars Technica。2015年10 月 9 日閲覧。
- ^ Jo Foley、Mary (2016 年 2 月 24 日) 。「Microsoft がモバイル ツール ベンダー Xamarin を買収」ZDNet。CBS Interactive。2019年4 月 29 日閲覧。
- ^ Jo Foley、Mary (2016 年 2 月 25 日)。「Microsoft: Android と Windows 10 のブリッジは終了、しかし iOS と Win32 のブリッジは前進中」ZDNet。2016年2 月 26 日閲覧。
- ^ Bright, Peter (2016年2月26日). 「MicrosoftがAndroid-on-Windows Astoria技術が消滅したと確認」Ars Technica . Conde Nast . 2019年4月29日閲覧。
- ^ 「Windows 11 で Android アプリを実行する方法」。
- ^ Domingo, Michael (2015 年 5 月 1 日)。「ユニバーサル Windows プラットフォーム ブリッジの内部」。Visual Studio Magazine。2015年10 月 9 日閲覧。
- ^ Radich, Quinn; Satran, Michael; Whitney, Tyler; Jacobs, Mike; Weston, Susan; Das, Debalin (2018 年 5 月 7 日)。「ユニバーサル Windows プラットフォーム (UWP) アプリのガイド」。Windows Developers Center。Microsoft。2019年5月 10 日閲覧。
- ^ 「Microsoft は Windows ストアの PC ゲームにコンソールのような制限を強制するのをやめる必要がある」Ars Technica . Conde Nast. 2016 年 2 月 29 日. 2016 年3 月 30 日閲覧。
- ^ 「DirectX ユニバーサル Windows プラットフォーム (UWP) ゲームを作成する - UWP アプリケーション」。learn.microsoft.com。2022年 10 月 20 日。
- ^ Hruska, Joel (2016 年 5 月 10 日). 「新しい Windows 10 の更新プログラムにより、FreeSync、G-Sync、およびロック解除されたフレーム レートのサポートが追加されました」. ExtremeTech . 2019 年5 月 10 日閲覧。
- ^ Makuch, Eddie (2016年3月30日). 「XboxのボスがPCゲームについて語る:「フィードバックは大声ではっきりと聞こえてきました」」GameSpot . 2018年5月10日閲覧。
- ^ Walton, Mark (2016 年 3 月 4 日)。「Epic CEO: 「ユニバーサル Windows プラットフォームは消滅する可能性があり、消滅すべきであり、消滅しなければならないし、消滅するだろう」」。Ars Technica。Conde Nast。2019年5 月 10 日閲覧。
- ^ Takahashi, Dean (2016 年 3 月 4 日)。「Epic の Tim Sweeney 氏が Microsoft のオープン Windows プラットフォームへの取り組みに疑問を呈す」VentureBeat。
- ^ Bright, Peter (2016 年 6 月 16 日)。「Microsoft は Windows ゲームの販売に自社ストアだけでなく Steam も利用予定」。Ars Technica。Condé Nast。
- ^ Makuch, Eddie (2016 年 6 月 15 日)。「Xbox の責任者が Steam リリースのさらなる予定を確認、PC の苦戦について語る」。GameSpot。CBS Interactive。
- ^ Spencer, Phil (2019年5月30日). 「PCゲームへのアプローチ」. Xbox . 2019年5月30日閲覧。
- ^ Humphries, Matthew (2019年5月30日). 「Microsoft、PC向けXbox Game Passを予告」. PCMag . 2019年5月30日閲覧。
外部リンク
- ユニバーサル Windows プラットフォーム (UWP) アプリのガイド
- GitHubの WindowsCommunityToolkit
- Android および iOS 開発者向けの Windows アプリの概念マッピング、プログラマーの観点から見た UWP、Android、iOS の比較
