米Microsoftは5月19日 (現地時間)、開発者向けイベント「Build 2020」において「Project Reunion」を発表した。Windowsアプリのエコシステムの分断を招いていたWin 32 APIとUWP(Universal Windows Platfrom) API、2つのAPIアクセスを統合する。デベロッパープラットフォーム部門を率いるKevin Gallo氏は「全てのWindows 10バージョンとデバイスで動作する素晴らしいアプリを簡単に構築できるように、Windowsデベロッパプラットフォームを統合・進化させるもの」と説明する。

Microsoftは今年、Windows 10リリース時からの目標であった稼働デバイスの10億台突破を果たしたが、Windows 10世代からUWPと呼ばれるようになったモダンなアプリのエコシステムについては思い描いていたような成長を成し遂げられていない。UWPアプリはWindows 10に最適化され、モダンで安全な体験を実現する。開発者はUWPアプリを作れば、全てのWindows 10デバイスをサポートできる。ただ、見方を変えると、UWPアプリが動作するのはWindows 10ベースのデバイスのみであり、Windowsが以前から持つデスクトップ環境のアプリケーションモデル、Win32も依然として支持されている。だが、Win32アプリはWindows 10が持つモダンな機能やデバイスをUWPのようにサポートできない可能性がある。UWP環境と以前からのデスクトップ環境、Windowsのエコシステムに存在する2つの環境それぞれの価値を損なうことなくプラットフォームのモダン化を実現できるように、MicrosoftはUWP APIとWin32 APIの障壁を取り除くための様々な取り組みを過去数年にわたって行ってきた。

  • デスクトップ (Win32)APIとUWP APIの現状

    現状では、デスクトップ (Win32)アプリとUWPアプリ、2つのAPIアクセスによってエコシステムの分断が生じている

Project Reunionは、Win 32 APIとUWP APIの2つが存在したAPIアクセスを一本化、NuGetのようなツールを介してOSから分離して利用できるようにする。将来のWindowsアプリの共通のプラットフォームになり、また既存のアプリを最新の機能を備えたモダンなアプリにアップデートするのをサポートする。既存のAPIを分離し、新しいAPIを追加する上で、必要に応じてすき間を埋めるpolyfillを行い、それによってAPIはサポートするWindowsバージョン全体を通じて下位レベルで動作する。

  • APIアクセスを一本化

    Project ReunionでアプリのAPIアクセスを一本化、OSから分離。新しいアプリをMicrosoftはシンプルに「Windowsアプリ」と呼んでいる

Project Reunionの最初のコンポーネントとして「WinUI 3」のPreview 1と「WebView 2」の新しい.NET Previewを発表した。WinUI 3は、これまでUWP環境において提供されていたUIフレームワークをUWPから切り離し、Win32環境も含めて優れたユーザー体験の構築を可能にする。統一されたUIプラットフォームだ。昨年秋からアルファ・テストが行われていた。WebView 2は、Microsoft EdgeによるWebコンテンツをWindowsアプリに埋め込み、Windowsアプリ内で豊かなWeb機能を利用できるようにする。OSから分離されるので、特定のWindowsのバージョンに制限されなくなる。

MicrosoftはGitHubにProject Reunionリポジトリを設け、Project Reunionのビジョンや初期の取り組みに対する幅広いフィードバックを求めている。