MS_UWP - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki
- 戻る(.NET Core、XAML、デスクトップ・アプリ)
最新の情報では
「実質的に互換性維持のために提供される状態へ入り、
代わりに "Windows App SDK" へ開発がシフトして行く。」
と言う事らしい。
移行メモ(正式名称): UWP = Universal Windows Platform。
Windows 10(2015)で導入された、Microsoft Store 配布を前提とした
アプリ プラットフォーム。
Windows、Visual Studioに
ロックインされているためか、あまり流行っていないように思う。
(スマホはプラットフォームに競争力があるので
ロックインされていても「已む無し」という感じだが)
-
スマホネイティブのような
Microsoft Store 対応の
Windows ネイティブ -
肝心の Microsoft Store が
あまり流行っていない。 -
ClickOnce や Silverlightのような
サンドボックス環境であるが、- クロスブラウザ・クロスプラットフォームではないので、
Silverlightと言うよりは、ClickOnceに近い。 - 同様に、サンドボックス外で動作させることが出来る。
- ≒ ClickOnce の完全信頼
- ≒ Silverlight のブラウザ外実行
- クロスブラウザ・クロスプラットフォームではないので、
-
XAML-based アプリであり、
技術的に洗練されていると言うメリットもあるが、
その他の面でデメリットが多いという話もある。- 開発の難易度が高い。
- HTML-based(HTML/CSS/JavaScript)と比較するとクローズド
-
一応、UWP以外のWindowsのデスクトップ・アプリを
Microsoft Store 対応させる
Desktop Bridgeなるものがある模様。
.NET Core上で動くが、Linuxで動くような
クロス・プラットフォーム性は無い。
- そもそもWindowシステム(≒GUI)のクロス・プラットフォーム化が難しい。
- 余談:.NET Core 3.0 でWindows Formsや
WPFがサポートされるらしいがこれもLinuxはサポートしない。
移行メモ(正誤): 「.NET Core 上で動く」という記述は、
厳密には正しくない。
UWP は長らく .NET Native(AOT コンパイル)と
UWP 専用の .NET プロファイルの上で動いており、
netcoreappの .NET Core とは実行基盤が別だった。
UWP が本流の .NET ランタイムに乗るのは、
WinUI 3 / Windows App SDK 以降の話である。なお「Windows Forms / WPF の .NET Core 対応が Linux をサポートしない」という
指摘はそのとおりで、現在も変わっていない。
-
今後、主流は、ロックインされない、オープンな、
「Visual Studio Code」+
「npm ,etc.のNode.js(JavaScript)系のツール」
になる可能性がある。 -
Chrome ウェブストアなどの方が
流行るかもしれない
(既にOneNoteのChrome拡張などがリリースされている)。 -
2018年内に高品質なPWA(Progressive Web Apps)を
Microsoft Store に登録し
Edge で利用可能にする計画が発表されている。 -
その他、React Native for Windows や
Electronを、
UWPアプリとしてストア登録する事も出来る模様。
Project Reunionを経て、...と言う事らしい。
補足(その後の経緯): 本ページの見立ては当たった。整理すると次の通り。
時期 出来事 2015 UWP 登場。「1 つのコードで全 Windows デバイス」を標榜 2020 Project Reunion 発表。UWP と Win32 の分断を解消する方針へ 2021-11 Windows App SDK 1.0 リリース(Project Reunion の正式名) 2021-10 「UWP は互換性維持のみ」と実質的に表明 現在 新規の Windows ネイティブ UI は WinUI 3 + Windows App SDK が推奨 UWP が伸びなかった主因は、本ページの指摘どおり ①Microsoft Store が定着しなかった、②サンドボックス制約が業務用途に厳しかった、
③Win32 資産と断絶していたの 3 点である。
Windows App SDK はこの ③ を解消することを主眼に置いている。なお、UWP アプリがすぐ動かなくなるわけではない。
Windows 11 でも引き続き動作し、セキュリティ修正も提供される。
-
ユニバーサル Windows プラットフォーム - Wikipedia
https://ja.wikipedia.org/wiki/Universal_Windows_Platform -
Microsoft、UWPをこっそりと潜めていく方向を明らかに | TECH+
https://news.mynavi.jp/article/20211021-2165558/
-
ユニバーサル Windows プラットフォーム (UWP) アプリとは | Microsoft Learn
https://learn.microsoft.com/windows/uwp/get-started/universal-application-platform-guide -
Windows App SDK | Microsoft Learn
https://learn.microsoft.com/windows/apps/windows-app-sdk/ -
WinUI | Microsoft Learn
https://learn.microsoft.com/windows/apps/winui/
- UWP(ユニバーサルWindowsプラットフォーム)とは? UWPアプリ開発の特徴
https://www.buildinsider.net/enterprise/uwpapp/01
- 特集:Windowsフォーム開発者のためのWindows 10 UWPアプリ開発入門:UWPとは何か
Tags: 移行, .NET開発, UIサブシステム, .NET Core, WPF/Silverlight, XAML