.NET 8ではASP.NET Coreが事前コンパイルに対応、Webアプリがネイティブバイナリに。高速実行や小さなコンテナイメージなど実現
今回は「.NET 8ではASP.NET Coreが事前コンパイルに対応、Webアプリがネイティブバイナリに。高速実行や小さなコンテナイメージなど実現」についてご紹介します。
関連ワード (拡大、起動、高速等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
マイクロソフトは現在開発中の.NET 8で、ASP.NET Coreが事前コンパイルに対応することを明らかにしました。
これによりネイティブバイナリ化したASP.NET Coreでは、より小さなコンテナイメージや高速に起動するアプリケーションが実現されます。
#AspNetCore updates in .NET 8 Preview 3
Native AOT
Server-side rendering w/ Blazor
Render Razor components outside #AspNetCore
Sections support in Blazor
Monitor Blazor Server circuits
?SIMD by default for Blazor WASM
Request timeoutshttps://t.co/tnwrWHTkFA— The ASP.NET Team (@aspnet) April 11, 2023
事前コンパイルでWebアプリがネイティブバイナリに
ASP.NET Coreは、Webアプリケーションを開発するための.NETのフレームワークの1つで、Windows、macOS、Linuxのマルチプラットフォームに対応しています。
.NETにおける事前コンパイルによるネイティブバイナリ化の機能は.NET 7から導入が始まった新機能です。ただし.NET 7ではGUIを持たないコンソール向けのアプリケーションとネイティブライブラリの開発がターゲットでした。
- マイクロソフト、次の.NET 7にネイティブコンパイラを搭載する見通しを明らかに
.NET 8ではこのターゲットがASP.NET Coreに拡大されることになります。
ASP.NET CoreによるWebアプリケーションが事前コンパイルによってネイティブバイナリ化することで、従来の.NETで生成されるマネージドコードよりも小さなサイズの実行ファイルとなり、実行時のメモリ消費も小さくなります。
高速な起動と実行が可能で、より小さなコンテナイメージの実現とデプロイ時間の短縮化、同じコンピューティングリソースに対してより高密度にデプロイできるようになる、などの利点があります。
下記はマイクロソフトが明らかにした、.NETのデフォルトのマネージドコードと事前コンパイルによるネイティブバイナリを比較した表です。
起動時間は約5分の1に短縮され、アプリケーションのサイズは8分の1にまで縮小されています。
ASP.NET Coreの事前コンパイル機能は、リリースされた.NET 8 Preview 3で試すことができます。
そしてASP.NET Coreを含む.NET 8は今年(2023年)11月に正式リリースとなる予定です。