.NET 9 Preview 1が公開。AOTコンパイラ対応の拡大、Windows上でのLinuxをターゲットとしたクロスコンパイル環境の強化など

今回は「.NET 9 Preview 1が公開。AOTコンパイラ対応の拡大、Windows上でのLinuxをターゲットとしたクロスコンパイル環境の強化など」についてご紹介します。

関連ワード (事前、具体的、環境等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


マイクロソフトは同社の包括的なアプリケーションフレームワークの次期バージョンとなる「.NET 9」の最初のプレビュー版となる「.NET 9 Preview 1」のリリースを発表しました。

.NETは、デスクトップアプリケーションからモバイルアプリケーション、クラウドネイティブ、ゲーム、IoTなど、あらゆるアプリケーションを包括的にカバーするフレームワークです。

fig

.NETの大きな枠組みの中に、プログラミング言語のC#やコンパイラ、ランタイム、そしてクロスプラットフォーム対応のUIフレームワーク.NET MAUIやWebアプリケーションフレームワークのBlazorなどが含まれています。

また、.NETは偶数バージョンがLTS(Long Term Support:長期サポート)版となり、現時点では昨年11月にリリースされた.NET 8が最新のLTS版です。LTS版は安定度を優先したバージョンとしてリリースされる一方、奇数バージョンは新機能や改善などを優先する傾向にあるため、.NET 9も比較的大きな機能追加や性能向上などが期待されるバージョンとなります。

AOTコンパイラの改善をさらに推し進める

下記は.NET 9 Preview 1のリリースを発表した同社のブログ「Our Vision for .NET 9」から、.NET 9での新機能や改善点について言及されたポイントを紹介していきましょう。

fig

.NET 9では、クラウドネイティブ対応の強化としてAOTコンパイラ(事前コンパイラ)の強化が行われます。

We’ve been developing Native AOT and application trimming as key tools to optimize production apps. In .NET 8, we optimized Web API applications (using the webapiaot template) for both trimming and AOT. In .NET 9, we are working on doing the same with other application types and improving the DATAS GC for all ASP.NET Core applications.

私たちは、本番アプリケーションを最適化するための重要なツールとしてNative AOTとアプリケーショントリミングの開発を進めてきました。.NET 8では、Web APIアプリケーション(webapiaotテンプレートを使用)をトリミングとAOTの両方に最適化しました。.NET 9では、他のアプリケーションタイプでも同じことを行い、すべてのASP.NET CoreアプリケーションのDATAS GCを改善することに取り組んでいます。

上記の引用の中で「アプリケーショントリミング」と「DATAS GC」という2つの用語がでてきます。

それぞれの概略を説明すると、アプリケーショントリミングとはダイナミックリンクや実行時のコードの動的生成などを行わないようにすることです。アプリケーション実行時にその内容が動的に変更されるような処理はAOTコンパイルに適合しないため、そうした処理を行わないようにすることで、AOTコンパイラへの対応を進めるとしています。

一方のDATAS GCとは「Dynamically Adapting To Application Sizes Garbage Collection」の略です。.NET 8までのガベージコレクションは比較的大きなサイズのアプリケーションに最適化されていますが、クラウドネイティブなアプリケーションでは小さなサイズのサービスが連携して動作する、あるいはサーバレスのように起動後短時間で終了するアプリケーションが中心となるため、こうした小さなサイズのアプリケーションでも動的にそのサイズに適合することで効率的なガベージコレクションを可能にする、というものです。

Windowsでのクロスコンパイル環境を改善

Windows上でLinux用のバイナリを生成するためのビルド環境もさらに改善するとしています。

Developers who want to cross-compile (for example, target Linux on Windows) currently rely on Docker and/or WSL2, as guided by our documentation and samples. Visual Studio support for AOT will expand to make Native AOT accessible to many more developers.

クロスコンパイル(例えば、Windows上でLinuxをターゲットにする)を行おうとしている開発者は、現在はその環境をDockerやWSL2に依存しています。Visual StudioにおけるAOTコンパイルのサポートは、より多くの開発者がNative AOTにアクセスできるように拡張される予定です。

具体的にどのようにクロスコンパイル環境が拡張されるかは示されていませんが、より簡単にWindows上でLinuxをターゲットにしたコンパイルなどが可能になると期待されます。

アプリケーションとAIとの統合も推進

OpenAIとの戦略的提携によるCopilotサービス群の提供など、マイクロソフトはAI分野でも大きな存在感を示していますが、.NET 9ではアプリケーションにAI機能を組み込むことも推進していくとのことです。

NET 9, we are committed to making it even easier for .NET developers to integrate artificial intelligence into their existing and new applications. Developers will find great libraries and documentation for working with OpenAI and OSS models (hosted and local), and we’ll continue collaborating on Semantic Kernel, OpenAI, and Azure SDK to ensure that .NET developers have a first-class experience building intelligent applications.

.NET 9では、.NET開発者が既存のアプリケーションや新しいアプリケーションにAI機能を統合するのをさらに簡単にしようとしています。開発者がOpenAIおよびOSSのAIモデル(ホスト型もしくはローカル型)で作業するための優れたライブラリとドキュメントを用意しようとしています。また、.NET開発者がインテリジェントなアプリケーションを構築するための優れた経験を実現するため、Semantic Kernel、OpenAI、Azure SDKでのコラボレーションを前進させていきます。

.NETは毎年11月にメジャーバージョンアップが行われるため、今回の.NET 9も正式版は今年(2024年)11月にリリースされる見通しです。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
KCCS、小・中学校向けクラウド型図書館システム提供–紙の本と電子書籍を一元管理
IT関連
2023-05-11 23:42
「Chrome」に新たなゼロデイ脆弱性、グーグルが修正–「Edge」にも影響
IT関連
2024-05-18 20:22
Rust言語を推進する「Rust Foundation」がフルタイムのエンジニアを2名募集中。年収10万ドルから15万ドル
Rust
2023-01-11 13:05
高齢者などの見守りロボ「BOCCO emo LTEモデル Powered by ネコリコ」に離れた家族の見守りを支援する4つの新機能
IT関連
2022-02-10 08:05
LEGO、プライド月間に7色+αの「みんなサイコー!!」セットを発売へ
くらテク
2021-05-22 08:01
Arm、10年ぶりの新アーキテクチャー「Armv9」–セキュリティとAI能力を強化
IT関連
2021-03-31 07:35
「Windows 10」バージョン1909に定例外のアップデート–ブルースクリーンの問題を修正
IT関連
2021-02-15 11:37
金鳥の「いま、いいよね。一方通行の新聞広告」、続きはWebにあった
くらテク
2021-07-07 10:51
【レビュー】iPad Air(2022)はアップルのM1チップを入手するための最も手頃な方法
IT関連
2022-03-18 09:22
ネットワーク運用へのAI導入を進めるジュニパー、生成AIで加速へ
IT関連
2023-06-20 16:32
セールスフォース、公共機関向けソリューションの全機能を日本で展開
IT関連
2024-06-07 01:19
メタバース空間も駆使する日本IBMの新ユーザー会、「IBM Community Japan」の成果
IT関連
2023-01-07 18:06
Jenkins作者の川口氏が立ち上げた「Launchable」、CloudBees社による買収を発表。JenkinsベースのCI/CDプラットフォームにAI機能を統合へ
CI/CD
2024-08-09 21:05
GitHubのプロファイルでタイムゾーンの設定が可能に。他のユーザーにローカルの現在時刻を表示
GitHub
2022-10-06 23:11