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

Khan Academy、Metroスタイルのアプリの例
左:コンテンツのない従来のデスクトップアプリ。60個のグラフィカルウィジェットと太い枠線が表示されています。右:Metroスタイルのアプリ。完全にコンテンツで構成されています。

ユニバーサル Windows プラットフォーム( UWP )アプリ[ 1 ](旧称Windows ストア アプリMetro スタイル アプリモダン アプリ[ 2 ]は、ユニバーサル Windows プラットフォーム上に構築されたアプリケーションです。主にMicrosoft のデジタル アプリケーション ストアであるMicrosoft ストア[ 3 ]から購入・ダウンロードされ、Windows 8以降、互換性のあるすべてのMicrosoft Windowsデバイスで使用できます。UWP は 2021 年 10 月に新機能の追加を停止しましたが[ 4 ]、ツールチェーンの更新は継続されています。[ 5 ]

命名法

Windows 10以降、Microsoft はユニバーサル Windows プラットフォーム(UWP) アプリを指す用語として「Windows アプリ」を初めて使用しました。これらは、 Microsoft Store (旧称Windows Store)からインストールできるアプリケーションでした。当初、これらのアプリは「信頼された Windows ストア アプリ」と呼ばれていましたが、後に「信頼された Microsoft ストア アプリ」と呼ばれるようになりました。デスクトップ コンピューターで実行するように設計された従来のプログラムは、「デスクトップ アプリ」と呼ばれていました。

Windows 10 バージョン1903のリリースに伴い、用語が変更されました。Microsoftは、 UWPアプリとデスクトップアプリの両方を区別なく「アプリ」という用語で呼ぶようになりました。この変更は、あらゆる種類のアプリケーションの命名規則を統一することを目的としていました。

なお、 Microsoftの開発者向けドキュメントでは、UWPは主にプラットフォーム自体を指すために使用されています。また、MicrosoftはUWPアプリの前身となるものを遡及的に「Windows ランタイムアプリ」という用語を導入しました。これは、UWPアプリにはこれまで明確な名称がなかったためです。

Windows 8.xの場合

UWPアプリは2012年に「Metroスタイルアプリ」という名前で初めて利用可能になり、Windows 8とともに販売されました。[ 2 ] [ 6 ]

見た目と感触

Windows 8.xでは、Metroスタイルアプリはウィンドウ内で動作しません。画面全体を占めるか、片側にスナップされます。後者の場合、画面の高さ全体を占めますが、幅の一部しか占めません。タイトルバー、システムメニュー、ウィンドウの境界線、コントロールボタンはありません。スクロールバーなどのコマンドインターフェースは通常、起動時には非表示です。メニューは「設定チャーム」にあります。MetroスタイルアプリはWindows 8.xのUIコントロールを使用し、通常、水平スクロールやアプリバーなどのエッジUIの組み込みなど、Windows 8.xのUIガイドラインに従います。[ 7 ]

顧客からの批判に応えてWindows 8.1ではタイトルバーが追加されましたが、マウスカーソルを画面上部に移動させない限りは非表示になっていました。ただし、タイトルバーのハンバーガーボタンからチャームにアクセスできます。[ 7 ]

配布とライセンス

ほとんどのユーザーにとって、Metroスタイルアプリへの唯一の入り口はWindowsストアです。Windowsドメインインフラストラクチャを運用している企業は、Microsoftと契約を結び、 Windowsストアを迂回して自社の基幹業務Metroスタイルアプリをサイドロードすることができます。また、主要なWebブラウザベンダーはこの規則から一部除外されており、ユーザーが自社製品をデフォルトのWebブラウザにすることを選択した場合、MicrosoftのガイドラインとWindowsストアを迂回して自社のMetroスタイルバージョンを実行することが許可されています。[ 8 ] [ 9 ]

Windows RT では、インストールされるすべてのアプリは Windows ストアから入手するか、Microsoft によって検証されている必要があります (ほとんどの内部アプリケーション)。

複数のコピー

Windows 8より前のバージョンでは、プログラムは静的なコンピューターアイコンで識別されていました。Windowsタスクバーは、実行中にウィンドウを開くすべてのアプリを表示する役割を果たしていました。一方、Metroスタイルアプリは、アイコンやその他の動的なコンテンツを表示できる「タイル」で識別されます。さらに、Windows 8およびWindows 8.1 RTMでは、実行時にWindowsタスクバーではなく、画面左側の専用のアプリスイッチャーに表示されます。[ 10 ] Windows 8.1 Updateでは、Metroスタイルアプリ用のタスクバーアイコンが追加されました。[ 11 ]

デスクトップアプリの同時実行数に制限はありません。例えば、Windowsのメモ帳ペイントFirefoxなどのプログラムは、システムリソースが許す限り、1人のユーザーが何度でも実行できます。(Windows Media Playerなどの一部のデスクトップアプリには、複数のインスタンスの生成を防ぐための追加コードが含まれています。)ただし、Windows 8では、Metroスタイルアプリは一度に1つのみしか実行できません。これらのアプリの真のマルチインスタンス化は、Windows 10バージョン1803(2018年5月リリース)まで利用できませんでした。[ 12 ]

Windows 10およびWindows 11の場合

見た目と感触

UWPアプリは個人またはソフトウェア企業によって設計されているため、独自の外観と操作性を備えています。ただし、Windows 10および11専用に構築されたUWPアプリは、以前のバージョンのWindowsとは異なる新しいUIコントロールを使用しているため、通常、以前のバージョンのアプリとは外観や機能が異なります。ただし、カスタムUIを使用するアプリは例外で、特にビデオゲームに多く見られます。Windows 8.x向けに設計されたアプリは、Windows 10および11向けに設計されたアプリとは外観が大きく異なります。

UWP アプリは、Windows 95 以降のバージョンの Windows と同じレガシー UI コントロールを使用しているため、従来のデスクトップ アプリとほぼ同じように見えます。これらは、UWP アプリに変換され、APPX ファイル形式を使用して配布されるレガシー デスクトップ アプリです。

マルチタスク

Windows 10では、Windows 8.x向けに設計されたものも含め、ほとんどのUWPアプリはフローティングウィンドウで実行され、ユーザーはWindowsタスクバーとタスクビューを使用してUWPアプリとデスクトップアプリを切り替えることができます。Windows 10では「タブレットモード」も導入されました。このモードは、デスクトップコンピューターではデフォルトで無効、タブレットコンピューターでは有効になっていますが、デスクトップユーザーは手動でオン/オフを切り替えることができます。タブレットモードがオフの場合、アプリのウィンドウはサイズ変更可能になり、タイトルバーが表示されることがあります。タブレットモードが有効な場合、サイズ変更可能なアプリはWindows 8.xのMetroスタイルアプリと同様のウィンドウシステムを使用し、画面全体を占有するか、片側にスナップされるかのいずれかになります。[ 13 ] [ 14 ] [ 15 ]

Windows 10のUWPアプリは複数のウィンドウで開くことができます。Microsoft Edge、電卓、フォトなどが、これを可能にするアプリの例です。Windows 10 v1803(2018年5月リリース)では、真のマルチインスタンス機能が追加され、UWPアプリの複数の独立したコピーを実行できるようになりました。[ 12 ]

ライセンスと配布

UWPアプリはWindowsストアからダウンロードするか、サイドロードすることができます。サイドロードの要件はWindows 8.xから10にかけて大幅に緩和されましたが、アプリは依然としてルート証明書にチェーンされた信頼できるデジタル証明書によって署名されている必要があります。[ 16 ]

ライフサイクル

Metroスタイルアプリは終了時に一時停止されます。一時停止中のアプリは、Windowsアプリマネージャーによって必要に応じて自動的に終了します。動的タイル、バックグラウンドコンポーネント、コントラクト(他のアプリとやり取りするためのインターフェース)では、ユーザーがアプリを起動する前にアクティブ化が必要になる場合があります。[ 17 ] [ 18 ]

コマンドラインから任意のMetroスタイルアプリまたはUWPアプリを呼び出す機能は、2017年6月21日にリリースされたWindows 10のInsiderビルド16226で初めて導入されました。[ 19 ] [ 20 ]

発達

Windows ランタイム

伝統的に、WindowsソフトウェアはWindows APIを用いて開発されてきました。ソフトウェアはWindows APIに恣意的な制限なくアクセスできます。開発者は独自のプログラミング言語開発ツールを自由に選択できました。MetroスタイルアプリはWindows Runtime(WinRT)を用いてのみ開発できます。(WinRTを使用するすべてのアプリがMetroスタイルアプリであるとは限らないことに注意してください。)WinRTの限定されたサブセットは、従来のデスクトップアプリにも利用可能です。[ 21 ]禁止されたAPIを呼び出すと、アプリはWindowsストアに表示されなくなります。

Metroスタイルアプリは、Microsoft独自の開発ツールでのみ開発できます。エンバカデロ・テクノロジーズのチーフサイエンティストであるアレン・バウアー氏によると、すべてのコンピュータプログラムが呼び出さなければならないAPIがありますが、MicrosoftはMicrosoft独自のVisual C++ランタイムからの呼び出しを除き、それらを禁止しています。 [ 22 ] [ 23 ] [ 24 ]

ユニバーサルアプリ

UWP アプリはスマートフォンパソコンビデオゲーム機HoloLensで動作するように開発されています。これらのアプリは当初ユニバーサル アプリと呼ばれていましたが、これは Windows 8.1 とWindows Phone 8.1で初めて導入されたユニバーサル アプリ API からプラットフォームの柔軟性を派生したものだからです。これらのアプリの開発にはVisual Studio 2013 Update 2 を使用できます。[ 25 ] [ 26 ] Windows 10 ではユニバーサル アプリの開発用にUniversal Windows Platform (UWP) 10 API が導入されました。このプラットフォームを活用するアプリはVisual Studio 2015以降で開発されます。Windows 8.1、Windows Phone 8.1、またはその両方 (ユニバーサル 8.1) 向けの古い Metro スタイル アプリは、このプラットフォームに移行するために変更が必要です。[ 27 ] [ 28 ]

ユニバーサルアプリは、マニフェストにおいて特定のOS向けに記述されていることを明示しなくなりました。代わりに、デスクトップ、モバイル、コンソール、モノのインターネット(IoT)など、1つまたは複数のデバイスファミリーを対象としています。デバイスで利用可能になった機能に対応します。ユニバーサルアプリは、携帯電話とタブレットの両方で動作し、適切なエクスペリエンスを提供します。携帯電話で動作しているユニバーサルアプリは、携帯電話をモニターや適切なドッキングステーションに接続すると、タブレットと同じように動作し始める場合があります。[ 29 ]

UWPはWindowsランタイムの拡張機能であり、WinRT APIにアクセスできますが、UWPアプリがWinRT APIを利用できるかどうかはプログラミング言語とツールによって異なります。[ 30 ]

付録

付録
ファイル名拡張子
.appx、.appxbundle
開発者マイクロソフト
フォーマットの種類アーカイブ
コンテナ用インストール情報とEXEまたはMSIファイル
含まれるものZIPOPC
延長MSIX
オープンフォーマット?はい

APPXは、Windows 8.x、10、11、Windows Phone 8.1、Windows 10 Mobile、Xbox One、Xbox Series X|S、HoloLens、およびWindows 10 IoT Coreでアプリを配布およびインストールするために使用されるファイル形式です。 [ 31 ] APPXはもともとUWPアプリで許可されている唯一のインストールシステムであり、Windows Phone 8.1でXAPファイル形式を置き換え、Windows PhoneとWindows 8のアプリの配布を統一しようとしました。[ 32 ] APPXファイルは、Windows Phone 8.1以降のバージョンおよびWindows 8以降のバージョンとのみ互換性があります。[ 33 ]

Windows Phone 8.x Marketplaceでは、ユーザーはAPPXファイルをSDカードにダウンロードし、手動でインストールすることができました。一方、Windows 8.xでは、ユーザーが開発者ライセンスを保有しているか、ビジネスドメインに属している場合を除き、UWPアプリのサイドローディングは禁止されていました。[ 34 ]

MSIX

MSIX
ファイル名拡張子
.msix、.msixbundle
開発者マイクロソフト
フォーマットの種類アーカイブ
コンテナ用インストール情報、EXEファイル、DLLファイル、その他のバンドルコンテンツ(「アセット」)
含まれるものZIPOPC
延長からApp-V、APPX、MSI
オープンフォーマット?はい

Windows 10バージョン 1709 およびWindows Server 2019 LTSC では、 MSIXと呼ばれる新しいインストール パッケージ形式が導入されました。これは、APPX 形式とWindows インストーラー(.msi) デスクトップ アプリケーション インストール形式の両方の代替となることを目的としています。[ 35 ] MSIX は現在、UWP アプリを配布するための推奨される方法です。[ 36 ] Windows 10 バージョン 1709 より前の Windows バージョンに MSIX サポートを提供するために、MSIX Core と呼ばれるオープン ソース プロジェクトが開始されました。[ 37 ]

安全

従来のWindowsアプリケーションは、一般的に、そのエコシステムを自由に使用したり変更したりする権限を持っています。Windowsユーザーアカウント権限、ユーザーアカウント制御ウイルス対策ソフトウェアは、この権限を抑制し、アプリが悪意のある目的でこの権限を使用しようとした場合にユーザーに通知します。しかし、UWPアプリはサンドボックス化されており、Windowsエコシステムを永続的に変更することはできません。Webカメラマイクなどのハードウェアデバイスや、マイドキュメントなどのユーザーフォルダに制限されているファイルシステムにアクセスする権限が必要です。Microsoftはさらにこれらのプログラムを監視し、セキュリティやプライバシーの問題があることが判明した場合はWindowsストアから削除することがあります。[ 38 ] [ 39 ]

参照

参考文献

  1. ^ Weinberger, Matt (2016年3月17日)、Microsoft is trying to change Windows software forever — here's why it'll be a tough fight 、 2016年6月27日閲覧。
  2. ^ a bウィリアム・ハレル(2015年4月10日)「メトロ、モダン、そしてユニバーサル?マイクロソフトは決断できない!」デジタルトレンド2016年6月27日閲覧。
  3. ^ウェインバーガー、マット(2016年3月4日)「マイクロソフトのWindowsアプリ戦略が批判を浴びる:「マイクロソフトがこれまでに行った中で最も積極的な動き」Business Insider 」 、2016年6月27日閲覧
  4. ^ https://www.developer-tech.com/news/microsoft-universal-windows-platform-finally-being-sunset/
  5. ^ https://devblogs.microsoft.com/ifdef-windows/preview-uwp-support-for-dotnet-9-native-aot/
  6. ^ Newman, Jared (2015年3月26日)、「MicrosoftのMetroアプリが新しい6番目の名前「Windowsアプリ」で改名」PCWorld 、 2016年6月27日閲覧。
  7. ^ a b Leonhart, Woody (2014年4月8日). 「Windows 8.1 Update の新機能」 . InfoWorld . IDG .
  8. ^ Bott, Ed (2014年1月15日). 「Googleの最新ChromeリリースはWindows 8デスクトップの置き換えを試みる」 . ZDNet . CBS Interactive . Microsoftのルールでは、MetroスタイルブラウザはWindowsストアを通じて配布するという義務を含む、他のすべてのアプリに適用される要件を回避することができます。
  9. ^ Branscombe, Mary (2012年3月27日). 「Windows 8ブラウザ:デスクトップのパワーを獲得する唯一のMetroアプリ」 . TechRadar . Future Publishing . 2014年1月17日閲覧
  10. ^ 「開いているアプリを切り替える」 . Microsoft Surfaceマニュアル. Microsoft . 2013年12月31日閲覧
  11. ^ Fitzsimmons, Michelle (2014年5月13日). 「Windows 8.1 Update 1:Microsoftの最新Windowsアップデートを体験」 . TechRadar . Future plc . 2014年5月19日閲覧
  12. ^ a b Whitechapel, Andrew (2018年5月). 「ユニバーサル Windows プラットフォーム - UWP-Win32 のギャップを埋める」 . MSDN マガジン. 第33巻第5号. Microsoft .
  13. ^ Seifert, Dan (2015年7月29日). 「Windows 10の最も重要な9つのアップデート」 . The Verge . Vox Media .
  14. ^ Warren, Tom (2015年7月28日). 「Windows 10 レビュー」 . The Verge . Vox Media .
  15. ^ Bott, Ed (2015年7月28日). 「Windows 10: 新たな始まり」 . ZDNet . CBS Interactive .
  16. ^ Sheehan, John; Zanjani, Peyman (2016年3月30日). Project Centennial: Bringing Existing Desktop Applications to the Universal Windows Platform . Microsoft Build 2016 Conference (ビデオ). サンフランシスコ: Microsoft Corporation. 8分50秒から。2018年1月29日時点のオリジナルよりアーカイブ。 2016年4月3日閲覧
  17. ^ Joshi, Bipin (2013年2月22日). 「Windowsストアアプリのライフサイクルと状態管理を理解する」 . Code Guru . QuinStreet . 2016年3月8日時点のオリジナルよりアーカイブ。 2016年3月8日閲覧
  18. ^ Hale, David (2016年3月7日). 「ユニバーサル Windows プラットフォーム (UWP) アプリのライフサイクル」 . UWP ドキュメント. MicrosoftMicrosoft Learn経由.
  19. ^ Whitechapel, Andrew (2017年7月5日). 「ユニバーサルWindowsアプリのコマンドラインアクティベーション」 . Windows向けアプリの構築. Microsoft .
  20. ^ Sarkar, Dona (2017年6月21日). 「PC向けWindows 10 Insider Preview Build 16226の発表」 . Windows Experience Blog . Microsoft .
  21. ^ 「デスクトップアプリ用の Windows ランタイム 8.x API」。Windowsアプリ開発。Microsoft。20157 月 31 日閲覧Microsoft Learn経由。
  22. ^ Grange, Eric (2012年8月23日). 「Delphi XE3にネイティブWinRTサポートがないのはなぜか?」 DelphiTools . 2014年1月13日閲覧
  23. ^ Anderson, Tim (2012年8月23日). 「サードパーティ製コンパイラがWindowsランタイム開発から締め出されている」 . Tim Anderson's ITWriting . 2014年1月13日閲覧。
  24. ^ Bauer, Allen (2012年8月22日). 「HTML5 Builder」 . Embarcadero Developer Network . Embarcadero Technologies. 2020年6月14日時点のオリジナルよりアーカイブ。 2014年1月13日閲覧
  25. ^ Gallo, Kevin (2015年3月2日). 「Windows 10 ユニバーサルアプリプラットフォームの初見」 . Windows Developer Blog . Microsoft .
  26. ^ Appel, Rachel (2014年9月). 「モダンアプリ:Windowsプラットフォーム向けユニバーサルアプリの構築」 . MSDN Magazine . 29 (9). MicrosoftMicrosoft Learn経由.
  27. ^ 「アプリをユニバーサル Windows プラットフォーム (UWP) に移行する」アーカイブされた Visual Studio ドキュメント。Microsoft 2015年7月31日閲覧Microsoft Learn経由。
  28. ^ 「Windows Runtime 8.x から UWP への移行」。UWPドキュメント。Microsoft。20157 月 31 日取得Microsoft Learn経由。
  29. ^ 「ユニバーサル Windows プラットフォーム (UWP) アプリとは?」 UWPドキュメントMicrosoft 2022年4月20日アダプティブコントロールと入力 – Microsoft Learn経由
  30. ^ 「ユニバーサル Windows プラットフォーム (UWP) アプリとは?」 UWPドキュメントMicrosoft 2022年 4 月 20 日 ユニバーサル Windows プラットフォームと Windows ランタイム API の関連性 – Microsoft Learn経由
  31. ^ 「アプリ パッケージと展開 (Windows ランタイム アプリ)」Windows 8 開発。Microsoft。2015 年 10 月 6 日。20163 月 8 日に取得– Microsoft Learn経由。
  32. ^ Warren, Tom (2014年2月11日). 「Windows Phone 8.1にはユニバーサルアプリと多数の機能アップデートが含まれています」 . The Verge . Vox Media .
  33. ^ Windows Phone 8.1にAPPXファイルをインストールする方法 2015年4月25日アーカイブ、 Wayback Machine
  34. ^ 「Windows 8でモダンアプリをサイドロードする方法」 How -To Geek、2012年11月23日。
  35. ^ 「MSIXとは何か?」 2022年6月11日。 2024年9月3日閲覧
  36. ^ 「はじめに: Microsoft Store で最初のアプリを公開する」 2024年7月23日. 2024年9月3日閲覧
  37. ^ "MSIX Core" . 2022年10月6日. 2024年9月3日閲覧
  38. ^ Ziegler, Chris (2012年5月17日). 「Microsoft、Windows 8開発者向けにWindowsストア機能とMetroアプリのサンドボックス化について語る」 The Verge . Vox Media . 2013年1月12日閲覧
  39. ^ Rosoff, Matt (2012年2月9日). 「Microsoftの次期iPadキラーについて知っておくべきことすべて」 . Business Insider . 2013年1月22日時点のオリジナルよりアーカイブ。 2013年1月12日閲覧