ニュース
Microsoft、「.NET Community Toolkit 8.3」を発表 ~.NET 8/Native AOTをフルサポート
Microsoft自身も使っている.NET開発者向けライブラリ
2024年8月29日 06:45
米Microsoftは8月27日(現地時間)、「.NET Community Toolkit 8.3」を発表した。「.NET 8」と「Native AOT」のサポート、パフォーマンスの向上、不具合の修正、機能強化などが含まれている。
「.NET Community Toolkit」は、すべての.NET開発者に有用なヘルパーとAPIをセットにしたライブラリ。もともと「Windows Community Toolkit」の一部として開発されていたが、クロスプラットフォームで利用できる部分をMicrosoftが切り出し、独立させたものだ。含まれるパッケージは以下の通りで、「NuGet」から入手できる。
- CommunityToolkit.Common:他のライブラリと共有されるヘルパーとAPI
- CommunityToolkit.Diagnostics:メソッド引数や例外の検証をより効率的に行うためのAPI群
- CommunityToolkit.HighPerformance:主にライブラリ開発者向けで、速度が求められるシーンで便利なヘルパーコレクション
- CommunityToolkit.Mvvm:別名「Microsoft MVVM Toolkit」。MVVMパターンでアプリを開発
このライブラリは「ストア」や「フォト」といったOS同梱アプリでも広く採用されているとのことで、その知見が生かされているとみていいだろう。一般のアプリ開発者もぜひ活用してほしい。
「.NET Community Toolkit 8.3」では「.NET 8」がサポートされ、「Native AOT」最適化が働くようになった。「Native AOT」(Native Ahead-Of-Time)は、中間言語(IL)コードをインタープリターで実行するのではなく、事前にネイティブコードへコンパイルしてしまう手法。起動時間が短縮され、メモリフットプリントが小さくなるだけでなく、.NETランタイムがインストールされていなかったり、JITが許可されない環境でも実行できるという利点がある。
これに伴い、すべてのパッケージの全APIにアノテーションが付与され、トリミング(.NET SDKがアプリ全体を分析し、ライブラリの未使用部分を削除する最適化)とAOT互換性が完全にサポートされる。
また、「MVVM Toolkit」に関しても、最新版で「Windows App SDK」(WinUI 3)との完全なトリミングおよびAOT互換性を実現。INotifyPropertyChangingに関するオーバーヘッドの削減が行われているとのことで、全体的なパフォーマンス向上が期待できる。