米Microsoftは、アプリケーション・フレームワーク「.NET」の次世代版の最初のリリース候補版「.NET 8 RC1」を9月12日(現地時間)に公開した。.NET 8 RC1は、Linux、macOS、Windowsで動作する。.NETはMicrosoft独自ライセンスと、MITライセンスで公開しているオープンソース・ソフトウェア。
.NET 8 RC1では、Android向けプログラムと、WebAssembly(WASM)プログラムで、事前コンパイル(Ahead-Of-Time Compilation:AOT Compilation)が可能になった。事前コンパイルすることによって、Android向けプログラムでは機械語のコードを出力し、WebAssemblyプログラムではWebAssemblyのコードをそのまま出力する。
.NETではプログラムをコンパイルするとOSやプロセッサに依存しない中間言語(IL:Intermediate Language)を出力し、実行時には中間言語をJITコンパイル(Just-In-Time Compilation)で機械語に変換してから実行している。前バージョンとなる.NET 7で、事前コンパイルに一部対応していたが、今回の.NET 7 RC1でAndroidとWebAssemblyでも事前コンパイルに対応した。Microsoftは事前コンパイルによって実行ファイルは大きくなるが、プログラムの起動にかかる時間が短くなり、全体的な処理速度も向上するとしている。
そして、AndoridとWebAssemblyの両方で、事前コンパイルで出力するファイルから中間言語を削除してファイルサイズを縮小する機能も取り入れている。Microsoftは実行ファイルから中間言語を削除することで、プログラムのリバース・エンジニアリングが困難になるという効果も得られるとしている。
.NET 8 RC1では、このほかにもWindowsではない環境でWindows向けのプログラムを作るときにアイコンやマニフェスト、バージョン番号などのWin32リソースを組み込めるようになるなど、多くの改良が加わっている。
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です