Microsoftの開発者向けカンファレンスである Build 2020 でUWPアプリのUIに関するロードマップが示されました。それがProject Reunionです。ここでは、Project Reunionについて現在わかっている情報を説明していきます。
[toc]今までのUWPアプリのUI
WindowsアプリケーションのGUIとしては従来からWindows FormsとWPFがありましたが、Windows 8で登場したストアアプリではGUI用の新たなAPIが用意され、その流れをくむWindows 10のUWPアプリでもベースとなるWinRT APIでGUIが用意されていました。
ただし、OSに結びついているWinRT APIでは柔軟にGUIの新機能を取り入れることができなかったため、UWPアプリのGUI部分がOSから切り離されて提供されるようになりました。それがWindows UI Library (WinUI)です。現在のバージョンはWinUI 2.0で、あくまでもWinRTのGUI部分を補助する形で提供されています。
また、Xaml Islandsという技術を使うことで、UWPアプリで用いられるようなモダンなUI部品を従来のWin32アプリでも用いることができるようになっています。
以上のことをまとめると、現在のUWPアプリのGUIとWinUI 2.0は下図のような関係になっています。
WinUI 3.0の登場とProject Reunion
今までのUWPアプリのGUIはOSと一体となったWinRT API (UWP XAML)によって構成されており、その補完的存在であったWinUIですが、WinUI 3.0からはこちらがUWPアプリのUIとして全面的に採用されるようになります。WinUI 2.xではWinRT API (UWP XAML)がベースにクラスライブラリが構築されていたのに対して、WinUI 3.0ではWinRT API (UWP XAML)から完全に独立しているので、従来のWin32アプリでもWinUI 3.0が使用可能になりすべてのWindowsアプリケーションのGUIの土台となるものになります。つまり、今までWindows Forms、WPF、UWPに分断されていたWindowsのGUIがWinUI 3.0に統合されることとなるということで、これがProject Reunionです(Windows Forms、WPFがなくなるわけではありませんが…)。
このことをまとめると下図のようになります。
また、従来のWinUI 2と新しいWinUI 3との関係は下図のようになります。
WinUI 3.0の最新情報
WinUI 3.0のロードマップ
WinUI 3.0開発のタイムラインは下図のようになっています。
WinUI 3.0のドキュメント
現在はWinUI 3.0のプレビュー版が公開されています。WinUI 3.0のドキュメントは以下をご覧ください。
コメント