ニュース

Microsoft、「.NET Core 3.0」を正式リリース ~オープンソース化されたWPF/WinForms開発をサポート

「C# 8.0」「F# 4.7」に対応。SDK・Dockerイメージサイズは6~7割削減

Microsoft、「.NET Core 3.0」を正式リリース

 米Microsoftは9月23日(現地時間)、開発者向けオンラインイベント“.NET Conf 2019”で「.NET Core 3.0」の正式リリースを発表した。現在、同社のWebサイトからソフトウェア開発キット(SDK)と、開発したアプリを実行するためのランタイムを無償でダウンロード可能。

 「.NET Core 3.0」は、オープンソースのソフトウェアフレームワーク「.NET Core」の新しいメジャーバージョン。Windows専用の「.NET Framework」と異なり、クロスプラットフォームで動作するのが特徴で、以下のOSがサポートされている。

  • Alpine:3.9以降
  • Debian:9以降
  • openSUSE:42.3以降
  • Fedora:26以降
  • Ubuntu:16.04以降
  • RHEL:6以降
  • SLES:12以降
  • macOS:10.13以降
  • Windows Client:7, 8.1, 10(バージョン 1607以降)
  • Windows Server:2012 R2 SP1以降

 「.NET Core」は元々Webやモバイルなどを開発ターゲットにしていたが、最新版の「.NET Core 3.0」ではオープンソース化されたWPF/WinFormsを用いたデスクトップアプリの開発を新たにサポート。WPFのXAMLデザイナーも刷新され、デバッグ中に修正したUIを実行中のアプリへ反映させる“ホット リロード”が可能となった。新しいデザイナーは、WinForms向けにも提供される予定だ(現在プレビュー中)。

WPFのXAMLデザイナーが刷新。WinForms向けはプレビュー版を単体ダウンロード可能

 また、IoTアプリの開発を見据えて、「Raspberry Pi」およびARMチップへの対応も行われた。現在サポートされているCPUアーキテクチャーは、以下の通り。

  • x64:Windows、macOS、Linux
  • x86:Windows
  • ARM32:Windows、Linux
  • ARM64:Linux(カーネル 4.14以降)

 Web開発においても、すでに“dot.net”や“Bing.com”で数カ月間テストされているとのことで、十分な品質が期待できる。「ASP.NET Core 3.0」や「Entity Framework Core 3.0」といった最新フレームワークも併せてリリースされている。

 機能面では、「C# 8.0」と「F# 4.7」がサポートされた。「C# 8.0」ではNullable参照型、インターフェイスメンバーのデフォルト実装、非同期ストリーム、インデクサーや配列要素へのアクセス改善、スイッチ式の拡張などの新しい機能が利用可能。「F# 4.7」では「.NET Standard 2.0」のターゲットや構文の改善・緩和、新しいプレビュー機能がトピックとなっている。従来の「.NET Core」アプリは“dotnet”コマンドで実行する必要があったが、単体で実行可能なバイナリが生成されるようになった点、JSONの処理に「Json.NET」ではなく新設計の“System.Text.Json”が利用されるようになったこと、“段階コンパイル(Tiered Compilation)”のデフォルト有効化や“ReadyToRun(R2R)”の追加によるアプリパフォーマンスの向上などにも注目したい。新しい数学APIや日本の新しい元号“令和”もサポートされている。

 なお、「.NET Core 3.0」アプリの開発には「Visual Studio 2019」v16.3や「Visual Studio for Mac 8.3」が必要。新機能を盛り込んだ“Current”リリースと位置付けられており、少なくとも3年間サポートされる“LTS”ほどの安定性はないが、できるだけ早めの移行をお勧めする。

 ちなみに、「.NET Core 3」のLTSリリースは11月公開予定の「.NET Core 3.1」。1つ前の“Current”版「.NET Core 2.2」は12月23日にサポートが終了する。

「.NET Core」のリリーススケジュール