Microsoft、コンテナやAIなどの開発者体験を向上させる「.NET 8」をリリースクラウドネイティブアプリの構築方法を変革

Microsoftは開発プラットフォーム「.NET」のバージョン8をリリースした。多くの機能が改善され、開発者体験を向上させるという。

» 2023年12月04日 11時10分 公開
[@IT]

 Microsoftは2023年11月14日(米国時間)、「.NET」の新バージョンのリリースを発表した。「.NET 8」は、パフォーマンス、安定性、セキュリティなどを改善し、開発者の生産性とイノベーションのスピードを向上させるプラットフォームとツールを提供するという。

 .NET 8のリリースに合わせ、.NETチーム、パートナー、.NETコミュニティーは、11月14〜16日の3日間にバーチャルイベント「.NET Conf 2023」を開催し、.NET 8の新機能と、.NETで何を構築しているかについて説明した。

.NET 8の概要1(提供:Microsoft)

 Microsoftは.NET 8のリリースによって「インテリジェントでクラウドネイティブなアプリケーションやトラフィックをスケーリングする際、高トラフィックのサービスを構築する方法が変わる。新しい機能や最適化が導入され、開発者がより効率的にこれらのアプリケーションを構築できるようになった。.NET 8には、Microsoftの多くの大規模サービスで使用されている実績のあるライブラリが含まれており、可観測性、回復力、スケーラビリティ、管理性などの基本的な課題を解決するのに真価を発揮する」としている。

.NET 8の概要2(提供:Microsoft)

パフォーマンスの向上

 .NET 8では、下記のように、スタック全体で数千ものパフォーマンス向上を達成している。

  • 新しいコードジェネレータ「Dynamic Profile-Guided Optimization」(PGO)を搭載
    アプリケーションのパフォーマンスが最大20%向上する
  • AVX-512命令セットのサポート
    512bitのデータベクトルに対して並列演算が可能になり、より少ない時間で多くのデータを処理できる
  • プリテミティブ型が、フォーマット/解析可能な新しいインタフェースを実装
    UTF-8に直接フォーマット/解析することができ、トランスコーディングのオーバーヘッドがなくなった

 例えばJSON APIのシナリオでは「TechEmpower」ベンチマークで18%の改善が見られ、「ASP.NET Core Minimal API」では毎秒ほぼ100万リクエストに達した。

「TechEmpower」ベンチマーク(提供:Microsoft)

 現実世界のワークロードにより近いシナリオの「Fortunes」テストでは、「ASP.NET Core」で2%の改善が見られ、毎秒30万リクエストを超えたという。

.NET Aspire:クラウドネイティブアプリケーション構築の独自スタック

.NET Aspire(提供:Microsoft)

 「.NET Aspire」は、回復力があり、監視可能で構成可能なクラウドネイティブアプリケーションを構築するための、.NETを使用したスタックだ。.NET Aspireはクラウドネイティブアプリの重要な依存関係を簡単に検出、取得、構成できるようにする。

.NET 8におけるコンテナ機能の強化

.NET 8におけるコンテナ機能の強化(提供:Microsoft)

 .NET 8を使用することで、これまで以上に簡単かつ安全にアプリケーションをコンテナでパッケージ化できる。全ての.NETイメージには非rootユーザーが含まれており、1行の設定でコンテナをより安全にする。「.NET SDK」ツールはDockerfileなしでコンテナイメージを公開し、デフォルトでは非rootになる。より小さな.NETベースイメージによって、コンテナ化されたアプリケーションをより速くデプロイする。

ネイティブAOT:高密度で持続可能なコンピューティングへの取り組み

ネイティブAOTのパフォーマンス(提供:Microsoft)

 .NETアプリをネイティブコードにコンパイルすると、メモリ使用量が少なく起動が速くなる。AOT(Ahead-Of-Time)アプリは、アプリに必要なコードのみデプロイするため、JIT(Just-In-Time)コンパイラが許可されていない制限された環境でもアプリを実行できる。

.NETアプリにAIを組み込む

.NETアプリにAIを組み込む(提供:Microsoft)

 生成AIとLLM(大規模言語モデル)によって開発者はアプリケーションでAIを活用した開発者体験を作成できるようになっている。.NET 8では、.NET SDKのすぐに使えるAI機能と、複数ツールのシームレスな統合によって、AIを簡単に活用できるという。

Blazor:.NETでフルスタックのWebアプリケーションを構築する

Blazor(提供:Microsoft)

 .NET 8の「Blazor」は、サーバとクライアントの両方を使用し、Web UIのあらゆるニーズを処理できるようになった。ページロード時間の最適化、スケーラビリティ、ユーザー体験の向上に焦点を当てた幾つかの新しい機能強化によって、開発者は同じアプリで「Blazor Server」「Blazor WebAssembly」を使用できるようになり、実行時にユーザーをサーバからクライアントに自動で移行できるようになった。

.NET MAUI:パフォーマンス、信頼性、開発者体験の向上

.NET MAUI(提供:Microsoft)

 「.NET MAUI」は、「WinUI」「Mac Catalyst」「iOS」「Android」アプリケーションをビルドするための単一のプロジェクトシステムと単一のコードベースを提供する。また、.NET MAUI用の新しい「Visual Studio Code」拡張機能によって、クロスプラットフォームの.NETモバイル/デスクトップアプリの開発に必要なツールが提供されている。

C# 12:簡素化された構文で開発者の生産性が向上

 「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サポート

 「Visual Studio」には開発ワークフローで最も生産性を高め、.NET 8を活用するためのツールがそろっている。.NET 8と同時にリリースされた「Visual Studio 2022 17.8」リリースでは、.NET 8やC# 12の拡張機能、さまざまな新しい生産性向上機能が提供されている。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。