.NET 6 Release – Alles, was Sie wissen sollten
Inhaltsverzeichnis
Microsoft hat am 8. November 2021 endlich .NET 6 der Welt vorgestellt. Die Entwicklung hat über ein Jahr gedauert. Dieser Rollout ist der größte, der Microsoft je im Bereich Softwareentwicklung gemacht hat. Er schließt das.NET-Vereinheitlichung Programm ab, das von Microsoft bei .NET 5 vorgesehen war. Es vereint das SDK, die Basisbibliotheken und die Laufzeit auf verschiedenen App-Plattformen.
Microsoft verspricht außerdem erhebliche Leistungssteigerungen, native Unterstützung für Apple Silicon (ARM 64) und Verbesserungen für ARM 64 mit .NET 6 und bezeichnet es als die schnellste .NET-Version. Es kann für Windows, macOS und Linux von dotnet.microsfot.com heruntergeladen werden. Nehmen wir jetzt einige der monumentalen Änderungen und Funktionen des NET 6-Ökosystems unter die Lupe, und wie sie davon profitieren können.
Einheitliche Plattform
Entwickler haben mit .NET 6 jetzt nur eine Ansicht für verschiedene Plattformen. Cloud-basierte, Desktop-, Web-, Mobil- und IoT-Apps verfügen jetzt alle über eine einheitliche und erweiterte Plattform. Die neuen Funktionen und Verbesserungen von.NET 6 ermöglichen den Entwicklern, ihre Codes problemlos auf verschiedenen Plattformen wiederzuverwenden.
Der Quellcode bleibt gleich und bietet dieselben Vorteile für alle Geräte: (Cloud/Desktop/Mobile). Dies reduziert Zeit und Stress, die den Prozess der Softwareentwicklung oft begleiten. Die Fähigkeiten der .NET 6-Entwicklung mit der Zeit werden ständig erweitert, wobei Machine Learning und WebAssembly die neuesten Ergänzungen der Liste sind.
Verbesserte Leistung
Die Leistung stand bei .NET 6 im Vordergrund. Hier ist ein kurzer Blick auf verschiedene Leistungsverbesserungen, die in der.NET 6 Version auftreten:
Datenfluss
Die Input-Output (IO) wurden wesentlich verbessert, da System.IO.FileStream völlig von Microsoft-Ingenieuren mit .NET 6 geschrieben wurde. Man kann die Leistungs- und Sicherheitsverbesserungen unter Windows merken, da die Implementierung keine blockierenden APIs mehr mit .NET verwendet.
Man hat unter Windows 4-fache Geschwindigkeitsverbesserung und einen 12.000-fachen Rückgang der Zuordnung mithilfe der Tests festgestellt. Außerdem sind Leistungsverbesserungen mit FileStream auf allen Plattformen zu sehen.
Profilgesteuerte Optimierung
Die profilgesteuerte Optimierung (PGO) basiert auf dem Konzept, wenn der Code, der zu Beginn ausgeführt wird, einheitlicher ist, steigt die Leistung. In .NET 6 sind zwei Arten von PGO aktiviert – dynamische PGO und statische PGO. Die statische PGO ist eine alte Feature, dynamische PGO ist neu bei .NET 6. Schauen wir uns jede Optimierung genauer an.
- Dynamische PGO
Der Hauptunterschied zwischen statischer PGO und dynamischer PGO besteht darin, dass dynamische PGO automatisch ist. Im Gegensatz zu statischer PGO sind keine speziellen Werkzeuge und keine extra Schulung erforderlich. Dynamische PGO verbessert erheblich die stationäre Leistung. Beispielsweise werden die Anfragen pro Sekunde für die TechEmpower JSON „MVC“-Suite ohne Codeveränderungen um 26 % verbessert.
- Statische PGO
Diese Art der Optimierung verwendet die Daten, die bei früheren Durchläufen gesammelt wurden, um zukünftige Instanzen zu optimieren. Derzeit wird es verwendet, um Baugruppen zu optimieren, die mit Ready to Run (R2R) ausgeliefert werden. Der größte Vorteil von statischer PGO besteht darin, dass es einen Laufzeitvorteil ohne Laufzeitkosten gibt.
Hot Reload
Diese Funktion ist seit mehreren Jahren bei JavaScript-Frameworks verfügbar. .NET 6 hat es endlich verändert. Hot Reload ermöglicht einem Entwickler, den Quellcode zu modifizieren. Die Änderungen werden sofort übernommen. Dies trägt dazu bei, dass die Produktivität steigt, und Entwickler können schnell und einfach neue und verbesserte Versionen der Software erstellen.
Dies ist möglich, da nur der modifizierte Code neu geladen wird. Diese Funktion spart die Zeit, die für In-App-Neuaufbauten und -Neustarts investiert wird. Es ist dank dem Dotnet Watch-Tool und Visual Studio 2022 möglich. Es funktioniert mit einer großen Anzahl von .NET-Apps, C#-, Visual Basic- und C++-Quellcode.
Ready-to-Run-Code
Crossgen 2 hat Crossgen in .NET 6 ersetzt. Es wird aus zwei Hauptgründen entwickelt und in .NET 6 vorhanden. Diese 2 Gründe sind:
- Cross-gen Entwicklung effizienter gestalten;
- Funktionen aktivieren, die mit Crossgen nicht möglich waren;
Das Tool verbessert die Veröffentlichung, indem es die Zwischensprache vorkompiliert. Eine einzige Maschine reicht, um native Codes für alle Zielplattformen zu generieren. Für Testing braucht ein Entwickler jedoch eine spezielle Hard- und Software.
Build-Time-Verbesserungen
Eine der größten und besten Änderungen in .NET 6 aus der Sicht eines Entwicklers sind die Build-Zeit Verbesserungen. Dank der neuen Sprachfunktionen, die in .NET 6 und C# 10 eingeführt wurden, können Entwickler jetzt viel schneller als zuvor programmieren. Ebenso hat der Razor-Compiler eine massive Geschwindigkeitsverbesserung gekriegt. Es ist nun mit Roslyn-Quellengeneratoren kompatibel. Einige von Microsoft veröffentlichte Benchmarks weisen die Build-Zeiten Reduzierung um etwa fünfzig Prozent auf. Dies ist besonders bei den großen Projekten vorteilhaft, die in der Regel sehr zeitaufwendig sind.
.NET MAUI
.NET Multi-Platform App User Interface (MAUI) ist eines der besten Features, die in .NET 6 hinzugefügt wurden. Es basiert auf Xamarin. Es ermöglicht Entwicklern, Apps für mehrere Betriebssysteme mit nur einem einzigen Quellcode zu erstellen. Es behandelt die Abstraktionen zu nativen Plattform-APIs plattformneutral. Während MAUI von Anfang an ein Gewinner zu sein scheint, sollte angesichts Microsoft UI-Empfangsverlaufs ein abwartender Ansatz verfolgt werden.
C# 10 Sprachupdate
.NET 6 bringt eine Menge neuer Funktionen in die C# 10-Sprachen. Es setzt die Sprachvereinfachung fort, die in C#9 begann. Einige der C#10 Funktionen sind:
- Strukturen aufnehmen
- Verbessertes #line-Pragma
- Erweiterte Property-muster
- Globale Verwendungsdirektiven
- Verbesserung der Strukturtypen
Außerdem basieren die meisten .NET 6 Projektvorlagen auf C# 10-Änderungen. Die neuen Vorlagen sind viel einfacher und genauer gebaut, was die Programmierung vereinfacht.
Interessante Projekte
Zuverlässige Arbeitgeber
Faire Vergütung
Verbesserte Sicherheit
Sicherheit war ein wichtiger Punkt in .NET 6. Es bringt Vorschau Support für zwei wichtige Angriffstypen mit: Control-Flow Enforcement Technology (CET) und Write Exclusive Execute (W^X). Beide Technologien schützen vor Hackerangriffen.
Während W^X auf allen Betriebssystemen läuft, ist es standardmäßig nur auf macOS ARM 64 aktiviert. Auf anderen Betriebssystemen sollte man es manuell aktivieren. Ebenso soll CET manuell aktiviert werden. Microsoft berichtet, dass beide Technologien standardmäßig für alle Betriebssysteme in .NET 7 aktiviert werden.
HTTP/3
HTTP/3 ist die neueste Version von HTTP und wird mit einer Vielzahl neuer Funktionen und Leistungsverbesserungen in .NET 6. bereichert. Eine solcher Verbesserungen ist ein neues Verbindungsprotokoll namens QUIC (Quick UDP Internet Connections). Es hat ein integriertes TLS, das ermöglicht, schneller die Verbindungen aufzubauen, die von IP-Adressen unabhängig sind.
Dadurch können Benutzer problemlos auf mobilen Geräten zwischen mobilen Daten und WLAN wechseln, ohne dass die Verbindung oder die Datengeschwindigkeit verloren geht. HTTP/3 wird leider von .NET 6 unter macOS nicht unterstützt. Dies passiert, weil TLS-API nicht vorhanden ist.
ARM 64-Unterstützung
ARM findet man heute bei jedem Gerät, von Laptops über Desktops bis hin zu Smartphones, und wird in Zukunft höchstwahrscheinlich auch im Vordergrund bleiben .NET 6 unterstützt sowohl macOS ARM 64 als auch Windows ARM 64 und erleichtert das Programmieren von Apps auf den wichtigsten Plattformen.
Microsoft kooperiert mit Arm Holdings und Apple um sicherzustellen, dass .NET 6 sowohl auf Apple- als auch auf Microsoft-Plattformen implementiert und optimiert wird. Das wird getan, damit die Entwickler keine Probleme in der App-Entwicklungsphase haben. Unter Linux wird es jedoch noch nicht unterstützt.
Fazit
.NET 6 scheint das größte Update des .NET-Ökosystems zu sein. In diesem Artikel ging es um die bemerkenswertesten Funktionen von .NET 6 und deren Vorteile für Entwickler .NET 6 hat jedoch noch viel mehr zu bieten. „Es inspiriert, die neuen Funktionen in .NET 6 zu sehen, die den Grundstein für die weitere Entwicklung legen”, so Microsoft. Dies sind die vielversprechenden Features, die die Plattform offensichtliche und nicht offensichtlich voranbringen werden.“ Die Zeit wird zeigen, wie erfolgreich oder erfolglos .NET 6 in der Entwickler-Community ist.
Eines ist aber sicher: mit der Entwicklung und Veröffentlichung von .NET 6 hat sich Ballmers ikonisches Mantra „Developers, Developers, Developers“ in der Realität verwandelt. Der Softwareriese macht die richtigen Schritte, um die Arbeitsbelastung der Entwickler zu senken. Welche .NET 6-Funktion hat Sie als Entwickler am meisten begeistert? Lassen Sie es uns wissen.