Lassen Sie uns untersuchen, welche Verbesserungen .NET 6 bietet, wie es im Vergleich zu .NET 5 abschneidet und ob Sie ein Upgrade in Betracht ziehen sollten.
A QUICK SUMMARY – FOR THE BUSY ONES
.NET 6 kam am 9. November 2022 auf den Markt und bietet Leistungssteigerungen und native Unterstützung für Apple Silicon und Windows Arm64.
.NET 6 überwindet Legacy-Probleme mit Verbesserungen wie Crossgen2 für nativen Code und FileStream-Verbesserungen.
.NET 6 baut auf.NET 5 auf, mit Unterschieden in den Programmiersprachen, der Plattformunterstützung, der IDE-Kompatibilität und der Dauer des Supports.
TABLE OF CONTENTS
Nach mehr als einem Jahr intensiver Entwicklungsarbeit des .NET-Teams ist .NET 6 seit November 2022 erhältlich. Vielen zufolge .NET-Entwickler, einschließlich uns hier bei Brainhub, war.NET 6 eine Revolution in einer Microsoft-Welt, da es viel schneller war als .NET 5. .NET 6 gilt als letzter Schritt in einer Vision der Vereinheitlichung von.NET-Dateien und vereinheitlicht das SDK, die Basisbibliotheken und die Runtime auf verschiedenen App-Plattformen.
In diesem Artikel konzentrieren wir uns auf einige allgemeine Details, damit Sie einen Überblick darüber erhalten, was vor sich geht. Schließlich hat .NET 5 im Mai 2022 seine Unterstützung verloren, was bedeutet, dass Sie eher früher als später auf .NET 6 migrieren müssen.
.NET 6 ist eine kostenlose Open-Source-Entwicklungsplattform, die von Microsoft entwickelt wurde. Sie wurde im November 2022 veröffentlicht und ist Teil der .NET-Familie. Sie tritt die Nachfolge von.NET Core 3.1 und.NET 5 an. Als plattformübergreifendes Framework unterstützt es die Entwicklung und Bereitstellung von Anwendungen unter Windows, macOS und Linux.
Nach sieben ausführlichen Vorschauen veröffentlichte Microsoft endlich die langzeitstabile Version .NET 6 am 9. November 2022. Es beinhaltet rund zehntausend Git-Commits. Dies ist die allererste Version, die Apple Silicon (Mac OS Arm 64) nativ unterstützt und Unterstützung für Windows Arm64 bietet.
Laut einem von Microsoft veröffentlichten Bulletin bringt .NET 6 eine Reihe von hochkarätigen Funktionen sowie „massive“ Verbesserungen sowohl bei der Optimierung als auch bei der Leistung mit sich.
Bevor wir uns mit den einzelnen Funktionen dieses Frameworks befassen, ist es wichtig zu verstehen, dass es mit.NET 6 und darüber hinaus nur eine.NET geben wird, und es ist nur.NET.
Dies passt perfekt zu Microsofts langfristiger Vision, das nur für Windows erhältliche, proprietäre .NET Framework in ein entwicklungsübergreifendes Open-Source-Angebot für alle Arten von .NET-Projekten umzuwandeln (einschließlich der Kompatibilität mit .NET MAUI).
Allerdings gibt es mehrere neue Funktionen und Upgrades, die in der offiziellen .NET 6-Ankündigung erwähnt werden. Hier sind die herausragendsten:
.NET 6 bietet eine Menge neuer Funktionen für C#-Sprachen. Es setzt den Weg der Sprachvereinfachung fort, eine Vision, die mit C# 9 begann. Zu den Funktionen, die C# 10 hinzugefügt wurden, gehören:
Darüber hinaus basieren die meisten .NET 6-Projektvorlagen auf C# 10-Änderungen. Die neuen Vorlagen sind viel übersichtlicher und einfacher als zuvor, sodass neue Entwickler leichter Programme schreiben können.
F# 6, ein Upgrade auf Microsofts Open-Source-Programmiersprache mit mehreren Paradigmen, ist jetzt offiziell als Teil von.NET 6 verfügbar. Insbesondere fügt F# 6 der Sprache F# und der interaktiven Funktion F# mehrere Verbesserungen hinzu.
Was Visual Basic betrifft, so wurde es sowohl in der Visual Studio-Erfahrung als auch beim Start des Windows Forms-Projekts verbessert.
.NET 6 unterstützt die neue Version von HTTP, nämlich HTTP/3. HTTP/3 löst das nur allzu bekannte Problem der Head-of-Line-Blockierung, das bei HTTP/2 auftritt, indem es ein neues zugrundeliegendes Verbindungsprotokoll namens QUIC verwendet.
QUIC verwendet UDP und verfügt über integriertes TLS, sodass Verbindungen schneller hergestellt werden können, da der TLS-Handshake als Teil der Verbindung erfolgt.
.NET 6 reduziert Ihre Rechenkosten und verbessert die Leistung, wenn Sie in der Cloud arbeiten. Funktionen wie .NET Monitor und OpenTelemetry ermöglichen diese Funktionalität.
.NET-Monitor macht es einfach, Diagnosedaten aus dem.NET-Prozess zu sammeln. OpenTelemetry hingegen ermöglicht es Ihnen, das Verhalten und die Leistung Ihrer Software besser zu analysieren.
.NET 6 verfügt über eine Funktion zur Paketvalidierung, mit der Entwickler sicherstellen können, dass ihr Code während der Paketentwicklung wohlgeformt und konsistent ist.
Entwickler können jetzt ihr neuestes Projekt mit dem vorherigen und mit früheren Versionen des Frameworks und der Runtime vergleichen und validieren.
Vor diesem Hintergrund können Tools zur Paketvalidierung wirklich ein Segen für das gesamte .NET-Ökosystem sein. Da Sie kein Paket mehr erstellen, das nicht validiert ist, ist das .NET-Ökosystem viel sicherer.
Sicherheit hat für die.NET-Plattform seit langem oberste Priorität, und dieses Mal ist .NET 6 mit allen erstklassigen Sicherheitsfunktionen ausgestattet, die Sie sich von einem Entwicklungsframework wünschen. Dazu gehören:
Unter Linux basieren alle Kryptografieoperationen auf OpenSSL, während dies unter Windows und macOS mit vom Betriebssystem bereitgestellten Funktionen möglich ist.
SDK-Workloads wurden erstmals in Preview 4 von.NET 6 eingeführt. Mit dieser Funktion können Sie nur die SDKs installieren, die Sie möchten und benötigen, und nicht ein Komplettpaket. Einfach ausgedrückt, es ist nichts anderes als ein Paketmanager für SDKs.
Im Laufe der Jahre hat sich das.NET-Framework zu einem sehr robusten System entwickelt. Aufgrund seiner langen Geschichte und Entwicklung war es jedoch im Laufe der Zeit mit erheblichen alten Abhängigkeiten und Kompromissen konfrontiert.
Eines der Hauptziele von.NET 6 war es, diese Einschränkungen zu überwinden und dem Framework dabei einen Neuanfang zu ermöglichen. eröffnet Entwicklern neue Horizonte — und das war bisher der Fall. Während wir sprechen, gibt es praktisch nichts, was Sie mit .NET 6 nicht tun können.
Hier sind ein paar bemerkenswerte Leistungsverbesserungen, die Sie in.NET 6 erwarten können:
Crossgen2 ist ein Tool, mit dem Sie eindeutigen, nativen Code in einem sofort einsatzbereiten Format generieren können.
Das Ready-to-Run-Format ist in erster Linie darauf ausgerichtet, assemblyübergreifend kompatibel zu sein und dieselbe Kompatibilitätsgarantie wie IL zu bieten, während es gleichzeitig die Leistungsvorteile von AHEAD-of-Time (AOT) kompiliertem Code bietet.
Anders ausgedrückt, Sie können eine einzige Build-Maschine verwenden, um nativen Code für alle Ziele zu generieren.
FileStream für.NET 6 verzögert sich kaum. Tatsächlich ist es dank einer fast vollständigen Neufassung viel schneller und zuverlässiger.
Eine weitere große Verbesserung in.NET 6 war die Einführung der profilgesteuerten Optimierung (dynamisches PGO). Im Wesentlichen handelt es sich bei dynamischem PGO um eine JIT-Compiler-Optimierungstechnik, die es JIT ermöglicht, zusätzliche Informationen über die Umgebung (auch bekannt als Profil) im Tier0-Codegen zu sammeln, um sich später beim Aufstieg von Tier 1 auf Tier 2 für aktuelle Methoden darauf zu verlassen. Ziel ist es, die Methoden noch effizienter zu machen.
Insbesondere können Sie mit dynamischem PGO zwei Schlüsselbereiche optimieren:
Zusammengenommen führen diese Leistungsverbesserungen zu einer kürzeren Ausführungszeit für Ihren Code sowie zu einer niedrigen Latenz und einem geringen Speicherverbrauch. Es ist ein Bereich von.NET 6, den Sie sich leisten können, zu ignorieren.
.NET 5 ist die natürliche Entwicklung und Weiterentwicklung der Frameworks .NET Core 3.1 und .NET 4.6.
Mit .NET 5 werden Ihr Code und Ihre Projektdateien gleich aussehen und sich auch so anfühlen, egal welche Art von App Sie erstellen.
.NET 5 weist zwar eine gewisse Ähnlichkeit mit dem.NET6 auf, doch unterscheiden sich die beiden Frameworks deutlich voneinander.
So geht's:
.NET 5 enthält C #9 und F# 5, wohingegen .NET 6 C# 10 und C# 6 enthält.
Sowohl .NET 5 als auch .NET 6 werden auf mehreren Betriebssystemen unterstützt, darunter Windows, Linux, Android, iOS /tvOS und macOS. Der einzige Unterschied besteht darin, dass .NET 6 unter Windows Arms64 und macOS Apple Silicon weiterhin unterstützt wird, wohin.NET 5 nicht unterstützt wird.
.NET 5 funktioniert gut mit der aktualisierten Version 16.8 von Visual Studio 2019 oder einer der späteren Versionen.
Im Gegensatz dazu funktioniert .NET 6 nur mit Visual Studio 2022 und Visual Studio 2022 für MAC. Wenn Sie.NET 6 verwenden möchten, müssen Sie ein Upgrade auf Visual Studio 2022 durchführen (das jetzt ebenfalls 64-Bit ist).
Sowohl .NET 5 als auch .NET 6 sind vollständig Open Source und völlig plattformübergreifend.
.NET 5 wird am 8. Mai 2022 das Ende des Supports erreichen. Nach den Mai-Updates von.NET stellt Microsoft keine Wartungsupdates, einschließlich technischen Support und Sicherheitsupdates, für .NET 5 mehr zur Verfügung.
.NET 6 ist dagegen ein Framework für langfristigen Support (LTS), das drei Jahre lang unterstützt wird.
Während .NET 5 relativ schnell läuft, ist.NET 6 mit Abstand die schnellste aller existierenden.NET-Versionen. Die beiden sind in dieser Abteilung einfach unvergleichlich.
Definitiv! Insgesamt ist.NET 6 die weitaus bessere Wahl zwischen den beiden Frameworks. Es läuft schneller, produziert effizienteren Code und garantiert langfristigen Support.
Daher sollte ein Upgrade von .NET 5 auf .NET 6 keine Frage des Ob, sondern des Wann sein. Je früher Sie es tun, desto besser für Ihr Produkt.
<span class="colorbox1" fs-test-element="box1"><p>Interessiert an einem Upgrade auf.NET 6?</p><p>Überprüfen Sie die Liste von Top.NET-Entwicklungsanbieter und finde deine perfekte Passform.</p></span>
Einfach ausgedrückt: .NET 6 ist die neueste Version von.NET Core. Sowohl .NET 6 als auch .NET Core erfüllen Microsofts Ziel, „künftig nur eine.NET“ zu haben.
Definitionsgemäß ist .NET Core im Grunde ein Open-Source-Framework für die Entwicklung von Windows, Webanwendungen, Diensten und mobilen Anwendungen, und es kann auf Mac, Windows und Linux ausgeführt werden. Es ist komplett von Grund auf neu geschrieben.
.NET Core 2.0 kam 2017 als plattformübergreifende Open-Source-Alternative zu .NET Framework auf den Markt. Es dauerte jedoch nicht lange, bis die Plattform ihren Flaggschiffnamen verlor.
In einem eher symbolischen Schritt ließ Microsoft den Spitznamen „Core“ drei Jahre später zugunsten von.NET 5, .NET 6 usw. fallen. Für viele verdeutlichte dieser Schritt Microsofts Wunsch, dass die kommenden Veröffentlichungen der gesamten .NET-Community ein neues Maß an Vereinheitlichung bieten.
Natürlich ist.NET 6 eine enorme Verbesserung gegenüber .NET Core 2.0 und allen anderen Versionen dazwischen. Es hat weitaus bessere Funktionen und reduziert die Menge an Boilerplate-Code erheblich Entwickler müssen schreiben, damit ihre Pakete zum Leben erweckt werden. In vielerlei Hinsicht überbrückt .NET 6 also die Kluft zwischen .NET Core und .NET Framework.
Verbesserte Feedback-Schleifen sind ein integraler Bestandteil der modernen Entwicklungsgeschichte. Verkürzte Zeiten zwischen einer Codeänderung und deren Auswirkung in der Ausgabe Ihrer Anwendung können Ihren Flow beeinflussen oder unterbrechen. Zum Glück wird sich das dank der Hot-Reload-Funktion .NET 6 bald ändern.
Hot Reload wurde erstmals in der Version .NET 6 Preview 3 eingeführt. Es ermöglicht Entwicklern, die Benutzeroberfläche zu ändern, während die Anwendung noch läuft.
Das bedeutet, dass Sie eine Vielzahl von Codeänderungen an einer laufenden Anwendung vornehmen können, und zwar erheblich Reduzieren Sie die Zeit, die Sie damit verbringen müssen, auf den Neustart und die Neuerstellung von Apps zu warten, oder navigieren Sie erneut zu derselben Stelle, an der Sie sich nach einer Codeänderung befanden.
In Bezug auf die Verfügbarkeit können Sie sowohl über Visual Studio 2022 als auch über das dotnet watch-CLI-Tool auf die Hot-Reload-Funktion zugreifen. Das Beste daran ist, dass Sie Hot Reload mit einer Vielzahl von App-Typen verwenden können, von Blazor über ASP.NET Core bis hin zu WinUI 3 und mehr.
Wenn Sie Visual Studio 2022 verwenden, starten Sie einfach Ihre.NET 6-App, nehmen Sie eine unterstützte Bearbeitung vor und verwenden Sie dann die neue Schaltfläche „Hot Reload“, um diese Änderungen anzuwenden. Alternativ können Sie die Änderungen beim Speichern über das Dropdownmenü auf derselben Schaltfläche anwenden.
Wenn Sie die CLI verwenden, ist der.NET 6-Hot-Reloading-Vorgang so ziemlich derselbe, nur dass Sie Ihre App diesmal mit Dotnet Watch und nicht direkt starten. Sobald dies erledigt ist, nehmen Sie alle unterstützten Änderungen vor. Nach dem Speichern der Datei werden Ihre Änderungen sofort übernommen (wie in Visual Studio Code).
Wenn die Änderungen zufällig nicht unterstützt werden, werden die Details im Befehlsfenster protokolliert.
Wie du siehst, ist.NET 6 Hot Reloading recht einfach und machbar — auch für Programmieranfänger.
<span class="colorbox1" fs-test-element="box1"><p>Benötigen Sie Hilfe bei der Entscheidung für das .NET 6-Upgrade?</p><p>Fühlen Sie sich frei kontaktiere uns heute und wir helfen Ihnen gerne weiter</p></span>
.NET 6 Framework ist eine reine Windows-Version von.NET 6 zum Erstellen von Apps aller Art, die unter Windows ausgeführt werden.
Ja. .NET 6 ist derzeit für Windows, macOS und Linux verfügbar. Klicken Sie auf dieser Link um .NET herunterzuladen.
Ja. Unter der Haube sind die beiden im Grunde dasselbe. Der einzige Unterschied besteht darin, dass .NET 6 im Vergleich zu den Vorgängerversionen von.NET Core weitaus erweiterte Funktionen enthält.
So ziemlich wird.NET 6 ein quelloffenes und plattformübergreifendes Framework, was bedeutet, dass es automatisch .NET Core und .NET Framework durch eine einzige, leistungsfähigere, einheitliche Plattform ersetzt.
Da haben Sie es also — eine allgemeine Aufschlüsselung von.NET 6, Microsofts bisher kompetentestem .NET. Wenn Sie .NET Core oder .NET 5 verwenden, sollten Sie so schnell wie möglich ein Upgrade durchführen. Zum Glück ist der Migrationspfad ziemlich minimal.
Davon abgesehen ist eines sicher: Das gesamte .NET-Ökosystem wird von nun an nur noch besser werden. Wenn Sie den Sprung zu.NET 6 nicht schaffen, sperren Sie sich von einfacheren Workloads, schnelleren Laufzeiten, höherer Codeeffizienz und einem insgesamt angenehmeren Programmiererlebnis aus.
Our promise
Every year, Brainhub helps 750,000+ founders, leaders and software engineers make smart tech decisions. We earn that trust by openly sharing our insights based on practical software engineering experience.
Authors
Read next
Popular this month