ニュース

WPF/WinFormsをオープンソース化 ~Microsoft、「.NET Core 3.0」Preview 1を発表

Windows デスクトップアプリも「.NET Framework」から「.NET Core」ベースへ

“GitHub”で公開されている「WPF for .NET Core」プロジェクト

 米Microsoftは12月4日(現地時間)、開発者向けイベント“Microsoft Connect(); 2018”で「.NET Core 3.0」Preview 1を発表した。「.NET Core」ベースの「Windows Presentation Foundation(WPF)」、「Windows Forms(WinForms)」、「Windows UI」ライブラリがオープンソース化されたこともアナウンスされている。

 「.NET Core」は、オープンソースで開発されている最新の.NET実装。Windowsユーザーにとって馴染み深い「.NET Framework」との違いは、Mac/Linuxでも利用できるクロスプラットフォームなフレームワークであることだ。既存アプリとの互換性維持が求められる「.NET Framework」と異なり、開発速度とバージョンアップが早い点、モジュール方式で軽量である点も違いといえる。

「.NET Core」と「.NET Framework」の関係(同社の公式ドキュメントより引用)

 これまでWebアプリやIoT、コンソールアプリのサポートに重点を置いてきた「.NET Core」だが、次期バージョンの「.NET Core 3.0」では「WPF」、「WinForms」およびデータベースライブラリ「Entity Framework 6(EF6)」を用いたWindows デスクトップアプリの開発もサポートされる。「WPF」や「WinForms」がMac/Linuxで利用できるようになるわけではないが、新しい「.NET Core」の成果を活用できるのは大きなメリットといえるだろう。「.NET Core 3.0」は同一のマシンで複数のバージョンを動作させられるうえ、ランタイムをアプリに埋め込んで出荷することもできるので、「.NET Framework」よりも気軽に最新の機能を活用できる。

 また、“XAML Islands”技術を利用すれば、UWPコントロールと“Fluent Design”デザインを「.NET Core 3.0」のWPF/WinFormsアプリへ追加することも可能だ。

 すでに「.NET Framework」でアプリを開発している場合は、あえてアプリを「.NET Core」へ移行する必要はない。しかし、今後の機能強化は「.NET Core」が中心と見込まれるため、これから新規にアプリを開発する場合は「.NET Core」を選択することが増えていくだろう。今回のオープンソース化により、「WPF」「WinForms」「Windows UI」といったUIライブラリの改善が進むことも期待できる。

 なお、「.NET Framework」も引き続きメンテナンスされる。次期バージョンの「.NET Framework 4.8」では、Webブラウザーやメディアコントロールの近代化(「Internet Explorer」から「Microsoft Edge」、「Windows Media Player」から新しいメディアプレイヤーへの移行)、タッチおよびUWPコントロールへのアクセス、より高いDPI環境(8K)への対応などが行われる予定だ。