Microsoftは開発プラットフォーム「.NET」のバージョン8をリリースした。多くの機能が改善され、開発者体験を向上させるという。
Microsoftは2023年11月14日(米国時間)、「.NET」の新バージョンのリリースを発表した。「.NET 8」は、パフォーマンス、安定性、セキュリティなどを改善し、開発者の生産性とイノベーションのスピードを向上させるプラットフォームとツールを提供するという。
.NET 8のリリースに合わせ、.NETチーム、パートナー、.NETコミュニティーは、11月14〜16日の3日間にバーチャルイベント「.NET Conf 2023」を開催し、.NET 8の新機能と、.NETで何を構築しているかについて説明した。
Microsoftは.NET 8のリリースによって「インテリジェントでクラウドネイティブなアプリケーションやトラフィックをスケーリングする際、高トラフィックのサービスを構築する方法が変わる。新しい機能や最適化が導入され、開発者がより効率的にこれらのアプリケーションを構築できるようになった。.NET 8には、Microsoftの多くの大規模サービスで使用されている実績のあるライブラリが含まれており、可観測性、回復力、スケーラビリティ、管理性などの基本的な課題を解決するのに真価を発揮する」としている。
.NET 8では、下記のように、スタック全体で数千ものパフォーマンス向上を達成している。
例えばJSON APIのシナリオでは「TechEmpower」ベンチマークで18%の改善が見られ、「ASP.NET Core Minimal API」では毎秒ほぼ100万リクエストに達した。
現実世界のワークロードにより近いシナリオの「Fortunes」テストでは、「ASP.NET Core」で2%の改善が見られ、毎秒30万リクエストを超えたという。
「.NET Aspire」は、回復力があり、監視可能で構成可能なクラウドネイティブアプリケーションを構築するための、.NETを使用したスタックだ。.NET Aspireはクラウドネイティブアプリの重要な依存関係を簡単に検出、取得、構成できるようにする。
.NET 8を使用することで、これまで以上に簡単かつ安全にアプリケーションをコンテナでパッケージ化できる。全ての.NETイメージには非rootユーザーが含まれており、1行の設定でコンテナをより安全にする。「.NET SDK」ツールはDockerfileなしでコンテナイメージを公開し、デフォルトでは非rootになる。より小さな.NETベースイメージによって、コンテナ化されたアプリケーションをより速くデプロイする。
.NETアプリをネイティブコードにコンパイルすると、メモリ使用量が少なく起動が速くなる。AOT(Ahead-Of-Time)アプリは、アプリに必要なコードのみデプロイするため、JIT(Just-In-Time)コンパイラが許可されていない制限された環境でもアプリを実行できる。
生成AIとLLM(大規模言語モデル)によって開発者はアプリケーションでAIを活用した開発者体験を作成できるようになっている。.NET 8では、.NET SDKのすぐに使えるAI機能と、複数ツールのシームレスな統合によって、AIを簡単に活用できるという。
.NET 8の「Blazor」は、サーバとクライアントの両方を使用し、Web UIのあらゆるニーズを処理できるようになった。ページロード時間の最適化、スケーラビリティ、ユーザー体験の向上に焦点を当てた幾つかの新しい機能強化によって、開発者は同じアプリで「Blazor Server」「Blazor WebAssembly」を使用できるようになり、実行時にユーザーをサーバからクライアントに自動で移行できるようになった。
「.NET MAUI」は、「WinUI」「Mac Catalyst」「iOS」「Android」アプリケーションをビルドするための単一のプロジェクトシステムと単一のコードベースを提供する。また、.NET MAUI用の新しい「Visual Studio Code」拡張機能によって、クロスプラットフォームの.NETモバイル/デスクトップアプリの開発に必要なツールが提供されている。
「C# 12」は、コーディングの生産性と楽しさを向上させる。シンプルで洗練された構文で、あらゆるクラスや構造体にプライマリーコンストラクターの作成が可能となった。
// Create a list: List<int> a = [1, 2, 3, 4, 5, 6, 7, 8]; // Create a span Span<char> b = ['a', 'b', 'c', 'd', 'e', 'f', 'h', 'i']; // Use the spread operator to concatenate int[] array1 = [1, 2, 3]; int[] array2 = [4, 5, 6]; int[] array3 = [7, 8, 9]; int[] fullArray = [..array1, ..array2, ..array3]; // contents is [1, 2, 3, 4, 5, 6, 7, 8, 9]
「Visual Studio」には開発ワークフローで最も生産性を高め、.NET 8を活用するためのツールがそろっている。.NET 8と同時にリリースされた「Visual Studio 2022 17.8」リリースでは、.NET 8やC# 12の拡張機能、さまざまな新しい生産性向上機能が提供されている。
Copyright © ITmedia, Inc. All Rights Reserved.