.Net Native, die Codeplattform hinter universellen Windows-Apps, erklärt
Verwalteter Code vs. nativer Code, das ist eine der großen Debatten unserer Zeit. Microsoft begann bereits in den späten 90er Jahren mit der Arbeit am .Net Framework, und .Net 1.0 wurde bereits im Jahr 2000 veröffentlicht. Im Grunde ist die Idee, dass, anstatt Code zu schreiben, alle alltäglichen und üblichen Aufgaben wie die Speicherverwaltung für jeden einzelnen ausgeführt werden Anwendung, eine 'Common Language Runtime' oder CLR, würde alle Aufgaben auf niedriger Ebene des Programms ausführen und Entwickler könnten sich auf die höheren Ebenen ihres Codes konzentrieren. Dies funktionierte großartig und reduzierte die Feinheiten beim Schreiben von Code, aber die Leistung war immer ein Problem, da diese Umwandlung von High-Level-Code in die CLR zu den tatsächlichen Anweisungen an den Computer die Dinge von Natur aus verlangsamte.
Jetzt glaubt Microsoft, mit einem neuen Programmierparadigma, das es .Net Native nennt, das Beste aus beiden Welten gefunden zu haben. Entwickler, die mit .Net aufgewachsen sind und Visual Studio zu Hause nennen, können alle ihre vertrauten Tools verwenden, einschließlich C# oder Visual Basic und gängige .Net-Bibliotheken, aber sobald der Code kompiliert ist, werden diese .Net Native-Programme gestartet und ausgeführt schneller und erfordert zur Ausführung keine Installation einer .Net Framework-Version auf dem Computer des Clients.
In einem Beitrag zum Erstellen von Apps für Windows blog beschreibt Microsoft Program Manager Daniel Jacobsen .Net Native und nennt eine Reihe von Gründen, warum Microsoft es für besser hält:
- Bis zu 60 % Leistungssteigerung bei Kaltstartzeiten
- Bis zu 40 % Leistungssteigerung bei Warmstartzeiten
- Weniger Speicherverbrauch Ihrer App bei nativer Kompilierung
- Keine Abhängigkeiten von der auf dem System installierten .NET Runtime des Desktops
- Da Ihre App nativ kompiliert wird, erhalten Sie die Leistungsvorteile, die mit nativem Code verbunden sind (denken Sie an die C++-Leistung).
- Sie können weiterhin die branchenführenden Programmiersprachen C# oder VB und die damit verbundenen Tools nutzen
- Sie können weiterhin das umfassende und konsistente Programmiermodell von .NET verwenden – mit umfangreichen APIs zum Schreiben von Geschäftslogik, integrierter Speicherverwaltung und Ausnahmebehandlung.