マイクロソフト、「ASP.NET Core in .NET 8」正式版リリース。事前コンパイルにより、高速に起動する軽量なWebアプリケーションを実現

2023年11月15日

マイクロソフトは、同社の包括的なアプリケーションフレームワーク「.NET 8」の正式リリースと同時に、.NETをベースとしたWebアプリケーションフレームワークの最新版となる「ASP.NET Core in .NET 8」正式版をリリースしました

fig

ASP.NET CoreがAOTコンパイラに対応

ASP.NET Core in .NET 8の最大の新機能はAOTコンパイルに対応したことでしょう

C#などの.NETに対応したプログラミング言語をコンパイルし、ネイティブバイナリを生成するAOTコンパイラ(Ahead-of-Timeコンパイラ:事前コンパイラ)は、.NET 7で登場した新機能でした

.NETには開発時にコードをコンパイルをするプロセスがありますが、これはソースコードを.NET専用の中間言語に変換するものです。アプリケーションの実行時に.NETランタイムのJITコンパイラによって中間言語から動的にネイティブバイナリが生成されることでターゲットマシン上でアプリケーションが実行されます。

AOTコンパイラは、このネイティブバイナリの生成を開発時に行えるコンパイラです。アプリケーション実行時には生成済みのネイティブバイナリを実行することで、高速に起動し、少ないメモリや低いコンピューティングパワーでも高速に実行可能な軽量なアプリケーションにできる利点があります。

.NET 7ではWindows、macOS、LinuxのOSでユーザーインターフェイスを持たないコンソールアプリの生成にのみ対応していましたが、.NET 8でASP.NET CoreによるWebアプリケーションのコンパイルにも対応するようになりました。

下記はマイクロソフトによるベンチマークの結果です。緑のマーカーがトリミングされたASP.NET Coreアプリケーション、黄色のマーカーが通常のASP.NET Coreアプリケーション、そしてオレンジのマーカーがAOTコンパイルされたASP.NET Coreアプリケーションを示しています。

fig

アプリケーションのサイズ、消費メモリ、起動時間のいずれもAOTコンパイルされたASP.NET Coreアプリケーションが明確に優れていることが示されました。

ただしあらゆるASP.NET CoreアプリケーションがAOTコンパイラでネイティブバイナリ化できるわけではなく、MVC、Blazor Server、SignalR、Authengication、Session、SPAなどの機能は現時点でサポートされていません。

またAOTコンパイラに対応させるためのテンプレートが用意されています。

あわせて読みたい

.NET Web技術 プログラミング言語 Microsoft




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本


<!- script for simple analytics events -->