マイクロソフトは次世代 WinUI フレームワークのプレビュー 3 をリリースし、Linux サポートは「ロードマップから外れていない」と述べています

Table of Contents

マイクロソフトは次世代 WinUI フレームワークのプレビュー 3 をリリースし、Linux サポートは「ロードマップから外れていない」と述べています

Microsoft は、Windows デスクトップ アプリケーション向けの次世代フレームワークである WinUI 3 の Preview 3 をリリースしました。

Windows デスクトップ開発に関する Microsoft の計画をまだ追跡しようとしている人たちは、WinUI 3 の最新プレビューと、Windows 開発プラットフォームのコーポレート VP である Kevin Gallo 氏との関連コミュニティ スタンドアップで、いくつかの新たな洞察を得ることができました。

WinUI 3はWinUI 2の後継バージョンだと想像されるかもしれません。確かにある意味ではそうかもしれませんが、同時に新たな方向性も示しています。WinUI 2(WinUI 1は存在しません)は、Windows 8で導入されたWindowsランタイムから進化した、それほどユニバーサルではないアプリケーションプラットフォームであるUWP(ユニバーサルWindowsプラットフォーム)用のコントロールライブラリです。

一方、WinUI 3 は Project Reunion の中核であり、Gallo 氏はこれを「新しいアプリと API がサポートされている Windows のバージョン間で下位レベルで動作するための共通プラットフォーム」と説明しています。

Gallo 氏はスタンドアップで、WinUI 3 の大きな特徴は新しい機能ではなく、多くのコンポーネントが WinUI 2 から引き継がれていることだが、フレームワークが「より柔軟な方法で提供されている」ことだと述べた。

WinUI 3 は UWP だけではなくデスクトップ アプリケーションでも動作し、そのコンテンツは HWND (オペレーティング システムの初期から使用されている、ウィンドウ ハンドルと呼ばれる番号で識別されるウィンドウ) に表示できます。

とはいえ、WebView 2 Chromiumベースのウェブブラウザコンポーネントや、WPF(Windows Presentation Framework)を使用する開発者には馴染みのあるRenderTargetBitmapクラスなど、新機能もいくつかあります(ただし、現時点ではXAMLコンテンツのみで動作します)。Gallo氏によると、WinUI 3の目標は、大規模で複雑なアプリケーションに対応させることです。現状では、UWPよりもWPFの方が適しています。

XAML

XAML コントロールギャラリー プロジェクトは、WinUI 3 コントロール ライブラリを探索するための出発点です。出典: Microsoft。クリックして拡大

主席プログラム マネージャーの Ryan Demopoulos 氏は、デバッグ中にプロパティを永続化せずに即座に変更できる Live Property Explorer や、デバッグ中に XAML ソース コードを永続化して変更できる XAML ホット リロードなど、WinUI 3 用の新しい Visual Studio ツールのデモを行いました。

「簡単な質問なので、簡単な答えをお願いします」と、ある開発者がスタンドアップで質問しました。「新しいデスクトップアプリには、UWP、WinUI、WPF、それともWinFormのどれがお勧めですか? 全部だとしたら、どれを選ぶべきでしょうか?」

残念ながら、簡単な答えはありません。WinUI 3はまだプレビュー段階であり、Microsoftはプレビューはあくまでも試用目的であると強調しています。リリース前にAPIが変更され、コードが機能しなくなる可能性があります。

誤解を招くメッセージもあります。WinUI 2.xはWinUI 3のリリース後も開発が続けられ、バージョン2.5は12月にリリースされる予定です。WinUI 2.xの一部の機能はWinUI 3.0には含まれません。例えば、Mixed Realityなどが挙げられます。

ガロ氏は、もはや二者択一ではなく、Reunionの新たな世界では自由に組み合わせられるようになると語った。同時に、「あらゆるユーザーエクスペリエンスの未来として、WinUI 3を推奨します」とも述べた。

すべて順調です!

Microsoftによると、COVID-19によるロックダウン中にPCの利用が急増し、Windowsデスクトップはかつてないほど人気が​​高まっているという。確かにその通りかもしれないが、アプリの世界はPCアプリケーションの全盛期から大きく変化している。

JavaScriptは電光石火のように動作し、リッチブラウザアプリケーションやPWA(デスクトップにインストール可能なプログレッシブウェブアプリケーション)の開発を可能にします。また、モバイルプラットフォームも台頭しています。これにより、開発者はクロスプラットフォームソリューションへと向かうことになります。そこで当然浮かび上がる疑問は、WinUI 3がクロスプラットフォームフレームワークとして機能できるかどうかです。

WinUIのバリアントは、Windows、WebAssembly、iOS、macOS、Android、LinuxをターゲットにできるUnoプラットフォームのおかげで、既に動作しています。しかし、Microsoftの公式フレームワークはどうでしょうか?例えば、.NETランタイムが既に問題なく動作しているLinuxでも動作するでしょうか?

「WinUIをクロスプラットフォームで実行できるようにしてほしいという要望がいくつかありました」とガロ氏は述べた。「開発者がどのようなシナリオを望んでいるのか、そして何をターゲットにしようとしているのかを常に尋ねています。私たちの目標は、開発者がWindows上で最高のアプリを開発し、その後、クロスプラットフォームエクスペリエンスを容易に構築できるようにすることです。これは私たちのロードマップから外れたものではなく、ロードマップに載っているものでもありません。コミュニティの声に耳を傾け、それが理にかなっているかどうかを理解しようとしているところです。」

それは確かに「もしかしたら」ですね。しかし、今のところは開発者にはUno、React Native、GoogleのFlutterなど、他にも多くの選択肢があり、WinUI 3はほぼ孤立しているように見えます。

しかし、主な目標は、現在Microsoftの他のデスクトップフレームワークを使用している開発者にとって使いやすいWindows用デスクトップフレームワークとなることです。ただし、VBはサポートされていないため、C#またはC++を使用する必要があります。それとも、単なるWindows用デスクトップフレームワークの1つに過ぎないのでしょうか?結論を出すには時期尚早であり、WinUI 3のリリース版は少なくとも6ヶ月先になりそうです。「終わりが近づいています」とデモポロス氏は述べ、「来年前半を目標にしています」としながらも、開発者にはこの予測の正確さに賭けないよう呼びかけました。

オープンソースについてはどうでしょうか?Microsoftは.NETコードのほとんどをオープンソース化していますが、WinUI 3はGitHubに存在しません。Gallo氏は、オープンソースは「3.0のリリース後、最優先事項です。オープンソース化には膨大な作業が必要です。オープンソース化に注力すると、開発がさらに遅れるだけです」と述べています。®

Discover More