1. トップ
  2. 新着ニュース
  3. IT
  4. IT総合

Windows 11のWinUI3対応で、MicrosoftはWin32アプリ、さらにWindows自体を改良しようとしている

ASCII.jp / 2023年8月20日 10時0分

 Windowsの方向性は常に変化し続けている、これまでのWindowsでも登場時に方向性が示されたことが少なくないが、それが途中で変わることも多い。Windows 10が半年ごとのアップデートだったように、ITといえども世の中の変化は激しい。正月に当たり前だったことが、年末には当たり前でなくなっていることもある。だとすれば、短期間の方向転換もそれ自体はあながち悪いことではない。とはいえ、ユーザー側からすると振り回されている感はある。

 Windows 11の方向性については、Windowsの「再スタート」と表現することができるだろう。対象ハードウェアを比較的新しいものに限定することで、ハードウェアに関わる新機能の搭載を容易にした。しかし、Windows 11の「再スタート」は、ハードウェア環境だけではなかった。

 秋に予定されているWindows 11 Ver.23H2では、エクスプローラーがWinUI3で作り直される。このあたりの状況を今回は見ていきたい。

WinUI3
Microsoftストアから入手可能なFluent XAML Theme Editor。GUI部品(コントロール)のテーマを作成するものだが、WinUIのコントロールが並ぶ。WinUI3を使うことで、このようなGUI部品をWin32アプリでも利用可能になる

あらためて、これまでのWindowsのおさらい

 Windowsの開発には、毎回大きなテーマ、あるいは目標があるというのが筆者の想像だ。たとえばWindows XPには、NT系とWindows系(DOS系)の「統合」がテーマだった。その後のWindows VistaはWindowsを「再定義」しようとしたが、これには失敗した。Windows 7では、Vistaの失敗をリカバーし、Windowsの改良の基礎とするための「整理」がなされた。

 Windows 8は「モバイル」がテーマで、スマートフォンのようにアプリストアとそこで配布するストアアプリを導入した。しかし、ストアアプリはデスクトップを分割して表示するなど、当時急速に普及しつつあったスマートフォンを意識しすぎ、ユーザーには不評だった。

 2015年に登場したWindows 10では、「マルチプラットフォーム」がテーマだろう。具体的には、XboxやWindows Phone、Windows IoT Coreといった非PCプラットフォームへの展開と、ストアアプリを発展させたUWPアプリのマルチプラットフォーム対応だ。反面、デスクトップは、Windows 7などに近いものに戻された。UWPアプリを開発すれば、スマートフォンにも容易に移植できるようにすることでUWPに開発者を集めようとした。

 しかし、UWPは期待したほど盛り上がらなかった。このため、2018年あたりからWindows 10の方向転換が始まる。その1つがWin32アプリからWinUI3を利用可能にするXAML Islands(2018年)であり、それを取り込んだProject Reunion(Windows App SDK、2020年)だった。このあたりに関しては過去にも本連載で扱ったので、詳細に関しては、以下の記事をご覧いただきたい。

●変わるWindowsのアプリ戦略 UWPからデスクトップアプリに原点回帰か ●UWPからデスクトップアプリに回帰すべく、MSが送り出した「Project REUNION」 ●UWPとデスクトップアプリの統合を試みる「Project Reunion」のプレビュー版が登場する

 Windows 10を発表したとき、マイクロソフトとしては、UWPをMicrosoft系の他のプラットフォーム(Xbox、HoloLens、Windows IoT、Windows Phone)で動作でき、さらにiOSやAndroidなども対象プラットフォームとしていた。このために、.NET技術がオープンソース化され、さまざまなプラットフォームがUWPのターゲットとなった。

 しかし、UWP自体がWindowsユーザーにあまりウケが良くなかったのが問題だった。そうなると、他のプラットフォーム向けに導入するテコにWindowsを使えなくなる。そこで、Microsoftは、Win32アプリに回帰することにした。それがProject Reunionである。

 その道筋に登場したのが、「Windows 10X」だ。当時の発表では、Windows 10Xで、Win32アプリもMicrosoftストアで扱うことが可能になるかのような表現があった。しかし、Windows 10Xの計画は破棄され、その代わりに登場したのがWindows 11である。Windows 11は、Windows 10Xと同じデスクトップデザインを持つ。

 Windows 11に関しては、過去の記事(「Windows 11は古いPCやWindowsと一旦線引きするのが1つの役目か」)で、「再スタート」だと書いた。そのときは、ハードウェア的な部分を想定していた。

 Windows 10を無料化して、それ以前のWindowsを動作させていたハードウェアを取り込む。その中から条件を設定して、対応可能なハードウェアのみをWindows 11に移行させる。こうすることで、古いハードウェアが持つ制約から逃れ、今後の改良時には古いハードウェアを考慮する必要がなくなる。

Windows自体の改良も再スタート

 WinUI3やWindows App SDKは、いまだに主流となっているWin32アプリケーションに、UWP同等の「モダン」なユーザーインターフェース(記事冒頭画面)を持ち込む、開発者のための機能だと当初は考えていた。しかし、WinUI3は、Windows自体を改良するためのものという側面もあることに気がついた。

 今年秋のWindows 11アップデート(Ver.23H2)では、エクスプローラーがWinUI3対応になる。WinUI3はProject Reunionの産物で、このプロジェクトは、今ではWindows App SDKと名前を変えて開発が進められている。WinUI3は、このSDKで提供されるユーザーインターフェース・コンポーネントである。簡単に言うと、WinUI3は従来UWP用だった“モダン”なユーザーインターフェース・コンポーネント(GUI部品)をWin32アプリでも利用できるようにしたものだ。

 Windowsに同梱されているプログラムの中には、UWP化してモダンなUIを取り入れたものもあるが、機能上UWPでは実現が難しいものものある。Windows APP SDKを使うことで、これらにUWP同等の進歩したUIや高機能を持たせることが可能だ。

 コントロールパネルから「設定」アプリへの移行など、Windows 8以降、Windowsの標準的なユーザーインターフェース部分は、ストアアプリやUWPを使って更新されてきた。しかし、いまだに旧来のGUIを残す部分も少なくない。UWPアプリには制限があり、カバーしにくい領域もある。Windows App SDKを使うことで、こうしたWin32アプリとして残されたプログラムをWinUI3化することで、見た目を最新にして、高機能を提供することが可能になる。

 よく考えれば、Windowsアプリの世界最大の開発者は、Microsoft自身である。つまり、開発者にとってメリットのあることは、Microsoft自身のメリットにもなる。そう考えると、Project Reunion、つまりWindows App SDKを最も必要としていたのはMicrosoftであり、WinUI3が作られた目的の1つが、Windows自体の改良だったのだ。

 Windows 11から標準搭載アプリとなったWindows Terminalが、非UWPアプリになったのも同じような理由からだ(「タブのウィンドウ間の移動も可能に! Windows Terminal v1.17/v1.18の新機能を見る」)。Windows TerminalもモダンなUIを使うために、UWPアプリ部分とWin32アプリを組み合わせた複雑な構造を持っていた。しかし、UWP化という条件が外れたため、Win32アプリとなった。

 また、Windows 11のアップデートでは、頻繁にウィジェットが更新されている。これも、Windows App SDKに関係がある。というのは、ウィジェットはWindows App SDKで開発されているため、Windows App SDKがバージョンアップするときにウィジェット関連の機能も強化されてきたからだ。

 Windows App SDKは、すでにVer.1.3が安定版でVer.1.4のプレビュー版が登場している。今年1月にVer.1.2.3がリリースされており、アップデート頻度は1月に1~2回と低くない。GitHubにリポジトリ(https://github.com/microsoft/WindowsAppSDK)があり、ここでリリース状況を知ることができる。

この記事に関連するニュース

トピックスRSS

ランキング

記事ミッション中・・・

10秒滞在

記事にリアクションする

記事ミッション中・・・

10秒滞在

記事にリアクションする

デイリー: 参加する
ウィークリー: 参加する
マンスリー: 参加する
10秒滞在

記事にリアクションする

次の記事を探す

エラーが発生しました

ページを再読み込みして
ください