ニュース

Microsoft、Win32とUWP/XAMLに二分されたWindowsアプリ開発を再統合 ~「Project Reunion 0.5」を発表

デスクトップアプリをストアに提出可能。年内の一般リリースに向けた重要なマイルストーン

Microsoft、「Project Reunion 0.5」を発表

 米Microsoftは3月29日(現地時間)、「Project Reunion 0.5」を発表した。

 Windowsのアプリ開発は現在、レガシーなWin32(WinFormsやWPFなどのデスクトップアプリ)とモダンなUWP/XAML(ストアアプリ)に大きく二分されている。UWP/XAMLは美しいユーザーインターフェイスと現代的なセキュリティモデルを備えており、モダンアプリにふさわしい。ところが、自由度に勝るWin32が好まれることも少なくなく、移行はなかなか進んでいないのが実情だ。先進的な機能はUWP/XAML/WinRTから導入されるが、レガシーなWin32からは活用が難しいという点や、Windows 10をアップグレードしないと新機能を利用できない点も課題となっていた。とくに後者は、簡単にはOSをアップグレードできないエンタープライズ環境では、モダンなアプリを導入するうえで大きな障害となる。

レガシーなWin32とモダンなUWP/XAMLに二分されたWindowsアプリ開発を再統合する「Project Reunion」

 「Project Reunion」は、UWP/XAMLとWin32という2つのAPIを1つに統合し、分断されたWindowsアプリ開発の世界を再結合させようという試みだ。「Project Reunion 0.5」はまだプレビュー段階にあるが、以下の3つの要素がプロダクションレディとなっており、デスクトップアプリをMSIX形式でパッケージし、アプリストアに提出ところまでがサポートされる。

  • WinUI 3:UWPとWin32の両方で動作するUXプラットフォーム(XAML)。従来のWinUI 3プレビューは単独でインストールする仕組みだったが、Project Reunionの一部となっている。新しい「Edge」をアプリに組み込む「WebView2」コントロールも含まれる
  • DWriteCore:テキストレンダリング「DirectWrite」のProject Reunion実装。DirectWriteをシステムから切り離すことで、Windows 8からWindows 10まで同じように機能するようになる。将来的なクロスプラットフォーム対応を準備する
  • アプリのリソース管理を合理化し、Project Reunionに加えたもの

 これらの技術には前方互換性があり、「Windows 10 バージョン 1809」(現在のEnterprise LTSC)以降であれば、古いOSバージョンでもアプリに組み込める。OSのアップデートとは切り離されているので、新機能も積極的にアプリで活用できるだろう。

 「Project Reunion 0.5」を用いたアプリ開発を行うには、「Visual Studio」向けの「Project Reunion」拡張機能(VSIXパッケージ)をインストールする。これにはProject Reunionファミリーのすべてのパーツがまとめれており、新規アプリを開発するためのプロジェクトテンプレートも含まれている。古いアプリをProject Reunionへ移行させたい場合は、ソリューションにProject Reunionプロジェクトを追加し、ロジックの共有とUIの移植を進めていけばよいだろう。UnoやSyncfusion、Infragistics、グレープシティなど、サードパーティーによる「Project Reunion 0.5」対応も進んでおり、「Windows Community Toolkit」によるサポートも進められている

「Project Reunion 0.5」の「WinUI 3」と「Visual Studio」の対応状況

 Project Reunionは今後も、年内の一般公開を目指して開発が進められる。次のマイルストーンは数カ月後にリリースされる「Project Reunion 0.8」で、「WinUI 3」によるUWPアプリ開発や、デスクトップアプリでのマルチウィンドウサポートが追加される見込みだ。