.NET Native
.NET Native ist eine Toolchain, die als wichtigsten Bestandteil einen Ahead-of-time-Compiler beinhaltet und zu Microsofts .NET-Plattform gehört. Der Compiler dient der Kompilierung von Windows Store Apps (UWP), die in C# oder Visual Basic .NET programmiert sind. .NET Native wird außerdem als Laufzeitumgebung und als Bestandteil oder Ergänzung von .NET Core eingeordnet, aber bisher nur für UWP-Apps unterstützt.

Im Rahmen des ursprünglichen Kompilierungssystems im .NET Framework wird der Programmcode zur Übersetzungszeit zunächst in den Zwischencode Common Intermediate Language und davon ausgehend zur Laufzeit per Just-in-time-Kompilierung in Maschinencode kompiliert (Siehe auch: Common Language Runtime). Im Unterschied dazu wird bei .NET Native der Programmcode von UWP-Apps zusätzlich vorab in Maschinencode, d. h. in nativen Code kompiliert.

Für das eigentliche .NET Core (also nicht UWP) dagegen ist seit mehreren Jahren ohne Freigabe (Stand Juni 2019) ein alternatives Laufzeitsystem für die Ahead-of-time-Kompilierung im Repository corert in Entwicklung, das anscheinend auch bis auf weiteres experimentell bleibt.

Eine weitere Möglichkeit der AOT-Kompilierung gibt es für .NET Core seit der Version 3.0 durch sogenannte Ready-To Run Images. Die JIT-Kompilierung wird vorab ausgeführt und das Ergebnis, der (plattformspezifische) Maschinencode gemeinsam mit dem Managed Code in der Assembly-Datei gespeichert.

Geschichte 
Die Entwicklung von .NET Native wurde durch Microsoft erstmals im April 2014 bekanntgegeben. Eine Vorabversion des Compilers war in Visual Studio 2013 Update 2 enthalten. Die erste finale Version wurde zusammen mit Visual Studio 2015 verfügbar.

Einsatz 
Anfänglich konnte der Compiler nur für Windows-Anwendungen benutzt werden, die basierend auf der Windows Runtime unter Windows 8.x laufen. Mittlerweile ist er für Anwendungen einsetzbar, die für die Universal Windows Platform und Windows 10 entwickelt wurden. Microsofts Angaben zufolge verbessert .NET Native die Performance von UWP-Anwendungen um bis zu 60 Prozent.

Literatur 
 Mascha Schnellbacher: .NET Native und die Bedeutung für Universal-Windows-Platform-Entwickler, in: entwickler.de vom 21. August 2015
 Holger Schwichtenberg: Native Framework-Evolution, in: dotnetpro Nr. 8/2014, S. 74 ff.
 Holger Schwichtenberg: C# erzeugt jetzt auch nativen Code, in: heise developer vom 3. April 2014
 Holger Schwichtenberg: Zwei auf einen Streich, in: Windows Developer Nr. 10/2015, S. 8–14, auch online bei entwickler.de
 Holger Schwichtenberg: Begrenztes Universum, in: iX – Magazin für professionelle Informationstechnik Nr. 2/2016, S. 50 ff.

Weblinks 
 
 Dokumentation zu .NET Native im MSDN
 .NET Native als Package in NuGet

Einzelnachweise 

Programmierwerkzeug
Laufzeitumgebung
Native