Windows 11のフォトアプリは、WinUI 2を使うUWPアプリから
WinUI 3を使うDesktopアプリに切り替わった
現在のWindows 11に搭載されている「フォト」アプリは、UWPではなくWindows App SDKを使うDesktopアプリ(Win32アプリ)になっている。
簡単に言えば、フォトアプリ(Photos.exe)は、通常のEXE実行ファイルである。また、従来のUWP版フォトアプリは、現在では「Microsoft フォト レガシ」として、Microsoftストアから入手が可能だ。
フォトアプリは、WinUI 2を使うUWPアプリから、今年の4月頃にWinUI 3を使うDesktopアプリに切り替えられた。ある意味でフォトアプリは、WinUI 2(UWP)からWinUI 3への切り替えの「サンプル」的な要素があった。
WinUI 3は、かつてはProject ReUnionと呼ばれていたものだ。UWPでしか利用できなかったWinUIなどをDesktopアプリケーションで利用できるように作られた。このあたりについては、以前の記事を参照してほしい(「UWPからデスクトップアプリに回帰すべく、MSが送り出した「Project REUNION」」)。Windows App SDKは、UWPの見栄えを持つDesktop/Win32アプリケーションを開発するためのものと言える。
1981年のMS-DOSからPCに関わるMicrosoftは、多数の技術を生み、新しい技術で古い技術を置き換えてきた。ただ、互換性を保つことは守られており、互換性の問題でいきなりアプリが起動不可能になることはほとんどない。
ここ数年ぐらいは、利用率が減った旧技術の廃棄には積極的で、Windowsの内部モジュールに関しても積極的に書き換えている。書き換えが多い分、アップデートごとの修正項目も少なくない。しかし、好意的に解釈すれば、Windows自体の更新に積極的になったのだとも言える。
Windows 8のストアアプリを発展させ、Windows 10でマルチプラットフォームを目指したUWPアプリには、新しいWinUIという見栄えのするユーザーインターフェース(UI)技術が組み込まれた。しかし、いかんせん人気がなく、従来のDesktopアプリで も動作できるWinUI 3を開発し、Windows App SDKとして提供することになった。
UWPが抱えてた問題の1つはWindows自体のアップデートと
同じタイミングで更新する必要がある点
フォトアプリはUWPであるがゆえに、いくつかの問題を抱えていた。WinUI3化、Desktopアプリケーション化は、その問題から抜け出すために必要なことだった。逆に言えば、UWPにはそれだけの問題があったということだ。
大きな問題の1つは、UWPはWindowsの機能にのみ依存するため、Windows自体のUpdateと同じタイミングで更新する必要があることだ。特にWindows 10のときには、年2回のアップデートでのみWindowsの機能が追加された。
このため、従来のフォトアプリは、改良されてWindowsの新機能などに対応したとしても、該当のWindowsが一般に配布されなければ実行できなかった。フォトアプリのプレビュー版を試用するには、プレビュー版のWindowsが実行されていることが必要条件だった。
Windows 11になって、機能追加のタイミングは増えたが、それでも最短で月1回のアップデートでしかWindowsに新機能が追加されない。実際にはそこまで多くはなく、新機能の追加は2~3ヵ月に1回だ。Windows自体の機能追加にはさまざまな検証が必要になり、頻繁にするのは難しい。また、追加機能によってはWindows SDK側の更新も必要になる。
UWPアプリの配付は、Windowsのアップデートが完了しないと開始されない。個々のユーザーのWindowsは、世界中で一斉にアップデートされるのではなく、ある程度の時間幅(数日から1週間程度)をもって実施される。
さらに特定ハードウェアなどのインストール問題があれば、Safeguard Holds(「Windows 10で秋の大型アップデートが始まったのに、春のアップデートも落ちてこないマシンがあるのはなぜ?」)により、問題が解決されるまでは特定機種のWindowsのアップデートが一時停止される。となると、世間では複数のWindowsバージョンの上で、複数の異なるフォトアプリが動くことになる。これはサポート上、かなり面倒だ。
これに対して、DesktopアプリがベースになったWinUI3アプリは、Window App SDKのモジュール更新を、Windows自体のバージョンとは無関係にいつでもできる。配布は、Windowsと同じくWindows Updateを使うが、更新周期は短く、Windows自体よりも少ない作業量で更新が可能。これによりフォトアプリは、高い頻度でアップデートできるようになった。
フォトアプリは、Windows標準アプリ(Inboxアプリ)であるがゆえに、サポート期間中のWindowsの複数バージョンに対応しなければならない。同一のUWPアプリを複数のWindowsバージョンに対応させると、内部が複雑になってしまう。また、Microsoftストアでは、同じ名前、同じバージョン番号を持つプログラムを複数登録することができない。
こうした理由から多くのWindows標準アプリのパッケージは複雑な状態となる。Windows 10/11兼用とすると、Windows 10のためのサポートモジュールを入れる必要があるなどパッケージが大きくなってしまう。Windows 10と11でバージョンを変えて2つのパッケージを配布することも可能だが、今度はパッケージの管理が面倒になる。
![](/img/blank.gif)
この連載の記事
-
第445回
PC
次期Windows 11ではAndroidのファイルをエクスプローラーからアクセス可能になる -
第444回
PC
外部ファイルをExcelに読み込む際の作業を効率化するPower Queryの活用 -
第443回
PC
Windows Terminalで採用されたCascadia Codeフォントを使うとプログラムを書くとき断然見やすい -
第442回
PC
Copilot+ PCで実現されるローカル推論で「対クラウド企業」を指向するMicrosoft -
第441回
PC
WSL以前から40年以上続く、Windows(Microsoft)とUNIXとの関わり -
第440回
PC
そもそも「Copilot+ PC」とは何なのか? -
第439回
PC
今更more.comを使うのか!? Windowsでのページングを考える -
第438回
PC
Windowsはなぜ再起動が必要になるのか? -
第437回
PC
Windowsが今更(?)開発者に優しくなろうとしている!? 「Dev Home」は開発者にとって使い物になる? -
第436回
PC
Copilot+PCとともにWindowsのデバイス間連携に大きな変化!? Project ROMEの逆襲? - この連載の一覧へ