「.NET 8 Preview 1」公開、“クラウドネイティブ開発のための最高のプラットフォーム”目指す:LTSリリースとなる正式版は2023年11月に公開予定
Microsoftは、オープンソースでクロスプラットフォームのアプリケーション開発プラットフォームの次期バージョン「.NET 8」の最初のプレビュー版を公開した。
Microsoftは2023年2月21日(米国時間)、オープンソースでクロスプラットフォームのアプリケーション開発プラットフォームの次期バージョン「.NET 8」の最初のプレビュー版「.NET 8 Preview 1」を公開したと発表した。
.NETは毎年、最新のメジャーバージョンが11月にリリースされており、.NET 8の正式版も、2023年11月開催の「.NET Conf」で公開されることになっている。.NET 8はLTS(長期サポート)リリースとして、3年間サポートされる。
.NET 8は、次のようなビジョンの実現に向けて開発が進められる。
- クラウドネイティブ開発者のための最高のプラットフォームとツールの提供
- 「MAUI」と「Blazor」を組み合わせたクロスプラットフォームの優れたモバイルおよびデスクトップ開発体験の提供
- パフォーマンス、品質、安定性の向上およびAPI、ライブラリ、フレームワークの使いやすさの改善
- .NETアップグレードアシスタントによる最新.NET環境の利用促進
基盤技術のアップデートロードマップ
Microsoftは.NET 8で、.NETのさまざまな基盤技術のアップデートを計画しており、以下ではそれらのうち「ASP.NET Core」「Blazor」「.NET MAUI」「EF Core」「WinForms」「WPF」のロードマップの概要を紹介する。
ASP.NET Core
.NET 8では、Web開発に使用されるASP.NET Core全般にわたって、「Blazor United」「認証および認可体験の向上」「ネイティブAOT」に重点を置いて投資が行われる。
Blazor Unitedは、Web UI構築フレームワーク「Blazor」に基づく単一のアーキテクチャにより、サーバサイドレンダリングと、Blazor ServerやWebAssemblyによる完全なクライアントサイドインタラクションを実現する取り組みを指す。Blazorは、クライアントからのUI操作の処理を重視したフレームワークだ。Blazor Unitedは、サーバサイドレンダリングとクライアントサイドレンダリングを組み合わせ、両方の利点を生かしてWebアプリを構築できるようにすることを目指している。
また、AOT(Ahead-of-Time)コンパイラは、.NETアプリケーションのパフォーマンスに大きく影響する、.NETの重要機能だ。アプリケーションをネイティブAOTとして公開すると、ネイティブコードにAOTコンパイルされた自己完結型のアプリケーションが生成される。こうしたネイティブAOTアプリケーションは非常に高速に起動し、使用メモリも少なくなる。.NETランタイムがインストールされていないマシンやコンテナでも、実行することが可能だ。
「.NET 7」に搭載されたネイティブAOT機能は、コンソールアプリケーションを対象としていたが、.NET 8では、他のアプリケーションシナリオにも対応できるようにネイティブAOT機能が拡張される。
.NET MAUI
2022年5月に一般提供が開始された.NET MAUI(.NET Multi-Platform App UI)は、C#とXAMLを使用して、ネイティブのモバイルアプリやデスクトップアプリを作成するためのクロスプラットフォームフレームワークだ。.NET MAUIを使用すると、1つの共有コードベースからAndroid、iOS、macOS、Windowsで実行できるアプリを開発できる。
.NET MAUIでは、以下の機能強化が予定されている。
- Xamarinから.NETへのアップグレードパスの改善:SDKの品質、.NETアップグレードアシスタント、ガイドとドキュメント
- UIレンダリングの高速化
- 開発者のインナーループ時間の短縮:ビルド時間の改善、ホットリロードの改善
EF Core
Entity Framework Core(EF Core)は、データアクセス技術「Entity Framework」の軽量版であり、.NET用のオブジェクトリレーショナルマッパー(O/RM)として機能する。SQL Database(オンプレミスとMicrosoft Azure)、SQLite、MySQL、PostgreSQL、Azure Cosmos DBなど、多くのデータベースに対応している。
.NET 8と同時にリリースされる予定である「EF Core 8」では、要望の高い機能(JSON列、値オブジェクト、マップされていない型のSQLクエリ)の他、クラウドネイティブおよびデバイス、パフォーマンス、ビジュアルツール、開発者体験に関する機能強化が計画されている。
WinForms
Windows Forms(WinForms)では、今後の改善点として以下が挙げられている。
- アクセシビリティー:WCAG2.1への対応(タブ上のコントロールについてのツールチップの有効化など)
- 高DPI:Per Monitor DPI対応アプリケーションにおける既存のスケーリングバグの修正、全てのコントロールによるPer Monitor V2モードのサポート、PMAモードでの位置/サイズ情報の新しい計算方法の追加
- パフォーマンス:ベースラインの確立、ランタイムとデザイナーのパフォーマンス向上
- テストインフラ:テストインフラの追加、テスト範囲の拡張
- 不足しているWin32コントロールのラッパーの追加と改善:リボンコントロール、バルーン、検索ボックス、リストビューの改良など
- WinFormsアプリケーションでのOSテーマのサポート追加:ダークテーマの有効化など
WPF
Windows Presentation Foundation(WPF)については、以下のアップデートが計画されている。
- WPFのモダナイゼーション:「Windows 11」テーマへの対応、新しいコントロール、Nullabilityアノテーション
- インフラのアップグレード:テストの自動化、テストの移行
これら以外にも、.NET 8の基盤技術として、「ML.NET」「NuGet」「Roslyn」のアップデートロードマップが公開されている。
.NET 8 Preview 1の新機能
.NET 8 Preview 1は、ネイティブAOT、.NETコンテナイメージ、ランタイムとライブラリ、.NET SDK、Linuxサポート、コード生成に関する多くの新機能を提供する。.NET 8の今後のプレビュー版でもさらに新機能が追加されていく。
Microsoftは、ネイティブAOTを使用した「Hello, World」アプリのサイズを次のように示し、ネイティブAOTの効果を強調している。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
「.NET 7 RC2」登場 C# 11や.NET MAUI利用可能で、現場への影響は?
Microsoftは、アプリケーション開発プラットフォームの次期バージョン「.NET 7」のRelease Candidate 2(RC2)を発表した。「.NET 7 RC2」登場 C# 11や.NET MAUI利用可能で、現場への影響は?
Microsoftは、アプリケーション開発プラットフォームの次期バージョン「.NET 7」のRelease Candidate 2(RC2)を発表した。Arm64サポートでは初の正式版「Visual Studio 2022 17.4」がリリース
Microsoftは、統合開発環境(IDE)の最新版「Visual Studio 2022バージョン17.4」を公開した。Arm64をサポートする初の正式版のVisual Studioであり、「.NET 7」対応や、更新プログラムのロールバック機能を含むエンタープライズサポートなど、多くの重要な新機能を搭載する。