マイクロソフト、「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コンパイラに対応させるためのテンプレートが用意されています。

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

このエントリーをはてなブックマークに追加
ツイート
follow us in feedly





タグクラウド

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

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

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

最新記事10本