最近、モダンなUIのWindowsアプリケーションが作りたくてUWPの勉強を始めました。
XAMLを使った設計思想や、Win32アプリケーション(WinForms)との仕様のギャップに苦しんだりしながら、色々調べていくうちに、こんな記事を見つけました。
UWPアプリの洗練されたUIをWin32アプリでも ~Microsoft、「WinUI 3 Preview 1」を発表
二分されたWindows開発の世界を再編・融合させる「Project Reunion」
Windows開発の世界はWindows 8のリリース以降、レガシーなWin32とモダンなUWP/XAMLに二分されている。UWP/XAMLアプリは美しいユーザーインターフェイスと現代的なセキュリティモデルを備えていたが、自由度に勝るWin32が好まれることも少なくなく、移行はなかなか進んでいない。先進的な機能はUWP/XAML/WinRTから導入されることが多いにもかかわらず、レガシーなWin32からは活用が難しいという点も課題となっていた。
そこで同社は「Project Reunion」という取り組みを発表し、その両者の再融合を図ろうとしている。
「WinUI 3」はその最初のピースで、UWP/XAMLからUIレイヤーであるXAMLを切り離し、Win32アプリに解放する。逆にWin32からUWP(.NET)にもたらされるのが、「Chromium」ベースの新しい「Microsoft Edge」コントロール(WebView2)だ。この「WebView2」コントロールもOSとは切り離されており、特定のバージョンのWindowsに依存しない仕組みになっている。
このように、OSに統合された古いAPIを切り離して新しいAPIに再編し、「NuGet」パッケージとして個別に導入できるようにするのが「Project Reunion」の意味の1つだ。これから開発される新規アプリは、「Project Reunion」を通じてWin32/UWP APIにアクセスすることになるだろう。C++、.NET(WPF/WinForms/UWP)、React Nativeのいずれの開発フレームワークからも統一的にアクセスできるほか、既存のアプリに最新の機能を導入したり、アップデートする際にも「Project Reunion」は役立つ。
公式ドキュメントにもありました。
https://docs.microsoft.com/ja-jp/windows/apps/winui/winui3/
※WinUI3.0 Preview1
は、v16.7から利用できるようです。(2020/06/22 現在の VisualStudio2019は、v16.6.2)
もしかしなくても近いうちにWinFormsアプリケーションで、Win10のモダンなUIを使えるってことですね。
なんというタイムリーな!そして俺得な!
UI目的でUWPを勉強し始めましたが、タイミングが悪かったようです。
いやむしろ、このタイミングで勉強を始めたからこそ知れた情報だったので良かったというべきだ!(/・ω・)/
なんにせよ気が付けてよかった