Microsoft Connect 2018において、Microsoftが.NET Core 3.0の最初のプレビューリリースを発表した。その中には、大きな発表が含まれている。彼らはWPF、Windows Forms (WinForms)、WinUIを、オープンソースプロジェクトとしてGitHubにリリースする。全てはMITライセンスでリリースされ、自分のアプリケーションで利用できるよう開発者に幅広い自由度を与えている。

これは.NET Core 3をターゲットにしている開発者が、WPFとWinFormsを利用できるようになることを意味している。現在のところ、これらは.NET Core SDKのWindowsバージョンの一部であり、macOS / Linuxではサポートされていない。これらがオープンソース化されることで、.NET Core上のWindows Desktopアプリケーションは、クロスプラットフォームサポートに一歩前進する。しかし、これらライブラリの技術はWindowsがホストOSであることを前提としているため、クロスプラットフォーム実行をサポートするには、Microsoftやコミュニティによる作業がたくさん残っていることを理解しておこう。

.NET Core 3でWPFやWinFormsを使い始めたい人は今そうすることが可能だ。Windows用の.NET Core 3 Preview SDKをインストールすると、WPFとWinFormsの2つの新しいプロジェクトタイプが利用できる。次のコマンドのいずれかを実行するだけだ。

dotnet new wpf

dotnet new winforms

そこから dotnet run で実行する。

Visual Studio 2017 15.9は、.NET Core 3でWPFおよびWinFormsアプリケーションを開発するのに使えるが、Microsoftによると「サポートされた体験」はVS2019への次期アップデートで提供されるという。つまり、IDEでおなじみのGUIデザイナーを使えるようになるには、アップデートを待つ必要がある。しかし、これはアプリケーションの編集/デバッグを妨げるものではない。MicrosoftのKevin Gallow氏によると、WinUIプロジェクトはSystem.Xamlコンポーネントのリリースでオープンソースの旅を始めており、今後数ヶ月のうちにさらに増える予定だ。WPF、WinForms、WinUIはGitHubで公開されている。