Das Unternehmen Microsoft hat die Veröffentlichung der Open-Source-Plattform .NET 8 vorgestellt, die durch die Vereinheitlichung der Produkte .NET Framework, .NET Core und Mono entstanden ist. Auf Basis von .NET 8 können plattformĂŒbergreifende Anwendungen fĂŒr Webbrowser, Cloud-Systeme, Desktop, IoT-GerĂ€te und mobile Plattformen erstellt werden, indem einheitliche Bibliotheken und ein gemeinsamer Build-Prozess verwendet werden, der nicht vom Anwendungstyp abhĂ€ngt. Die Builds von .NET SDK 8, .NET Runtime 8 und ASP.NET Core Runtime 8 sind fĂŒr Linux, macOS und Windows erstellt. .NET Desktop Runtime 8 wird nur fĂŒr Windows bereitgestellt. Die damit verbundenen Projektergebnisse werden unter der MIT-Lizenz veröffentlicht. Die .NET 8-Version gehört zur Kategorie LTS und wird bis November 2026 drei Jahre lang unterstĂŒtzt.
.NET 8 enthĂ€lt Runtime mit dem JIT-Compiler RyuJIT, API-Spezifikationen, WPF-Bibliotheken, Windows Forms, WinUI, Entity Framework, die Befehlszeilenschnittstelle dotnet sowie Werkzeuge zur Entwicklung von Mikrodiensten, Bibliotheken, Server-, Grafik- und Konsolenanwendungen. Separat veröffentlicht wurde der Stack zur Entwicklung von Webanwendungen ASP.NET Core 8.0, die ORM-Schicht Entity Framework Core 8.0 (mit Treibern unter anderem fĂŒr SQLite und PostgreSQL), die WPF-Bibliothek 8 (Windows Presentation Foundation), das Windows Forms 8-Framework zur GUI-Entwicklung, die Plattform Aspire 8 zur Erstellung von Cloud-nativen Anwendungen, das MAUI 8-Framework zur Entwicklung plattformĂŒbergreifender BenutzeroberflĂ€chen sowie die Releases der Sprachen C# 12 und F# 8. UnterstĂŒtzung fĂŒr .NET 8.0 und C# 12 ist im kostenlosen Code-Editor Visual Studio Code integriert.
Besonderheiten der neuen Version:
- Eine erhebliche Leistungsoptimierung wurde durchgefĂŒhrt. StandardmĂ€Ăig wird der neue Code-Generator aktiviert, der dynamische Optimierung basierend auf der Profilerstellung der CodeausfĂŒhrung (Dynamic Profile-Guided Optimization) unterstĂŒtzt. Die Verwendung des neuen Code-Generators bietet eine Leistungssteigerung von bis zu 20 % fĂŒr Anwendungen. Zudem wird in der neuen Version die UnterstĂŒtzung fĂŒr AVX-512-Anweisungen hinzugefĂŒgt, die die Leistung paralleler Operationen mit Vektordaten verbessern. FĂŒr primitive Typen wurde eine neue Schnittstelle implementiert, die es ermöglicht, Daten im UTF-8-Format direkt ohne Umkodierung zu parsen und zu formatieren. In den TechEmpower-Tests wurde die Leistung bei der Arbeit mit JSON-APIs um 18 % und bei Fortunes um 24 % gesteigert.

- Ein neuer .NET Aspire-Stack wurde hinzugefĂŒgt, der fĂŒr die Entwicklung von Cloud-Anwendungen (cloud-native) unter Verwendung von .NET-Technologien konzipiert ist. .NET Aspire bietet eine groĂe Sammlung von Komponenten, die beim Erstellen von Anwendungen, die in Cloud-Umgebungen betrieben werden, erforderlich sein können, einschlieĂlich Tools zur Datensammlung, Konfiguration, Ăberwachung der FunktionsfĂ€higkeit und GewĂ€hrleistung der Ausfallsicherheit.
- Die Werkzeuge zum Verpacken von Anwendungen in isolierte Container wurden erweitert. StandardmĂ€Ăig erfolgt die Veröffentlichung von Container-Images ohne Dockerfile und ohne Root-Benutzer. Die GröĂe des Basis-Images mit .NET-Plattformkomponenten wurde reduziert. Eine minimalistischer Variante des Images zum AusfĂŒhren von Anwendungen, die in ausfĂŒhrbare Dateien (Native AOT) kompiliert wurden, wurde hinzugefĂŒgt. Eine sicherere Version des Images auf Basis von Chiseled Ubuntu wurde hinzugefĂŒgt.
- Die Effizienz der Kompilierung von selbstĂ€ndigen ausfĂŒhrbaren Dateien (Native AOT), in denen das gesamte Projekt ursprĂŒnglich in Maschinencode der Zielplattform kompiliert wurde, ohne Zwischencode und ohne JIT-Anwendung, wurde verbessert.

- Die Möglichkeiten der Programmierschnittstellen, die in maschinellen Lernsystemen verwendet werden können, wurden erweitert. Beispielsweise wurde die KompatibilitĂ€t der System.Numerics-Bibliothek mit generativen KI-Systemen erhöht. Beispiele fĂŒr das Bewusstsein von Chatbots, die Generierung von Inhalten und den Zugriff auf Azure AI-Dienste wurden hinzugefĂŒgt.
- In Blazor, der Plattform fĂŒr die Erstellung von Webanwendungen in C#, wurde die Ladezeit der Seiten verkĂŒrzt, die Skalierbarkeit verbessert und die Verwendung von Blazor Server und Blazor WebAssembly in einer einzigen Anwendung zur Erstellung von Programmen, die Funktionen kombinieren, erlaubt. Server Ein Jiterpreter, eine neue, schnellere WebAssembly-Laufzeit, wurde hinzugefĂŒgt, die es ermöglicht, die BenutzeroberflĂ€chen-Renderingzeit um 20% zu beschleunigen. Die Möglichkeiten der Authentifizierung, Autorisierung und Identifizierung wurden erweitert.
- Das MAUI-Framework zur Entwicklung plattformĂŒbergreifender BenutzeroberflĂ€chen wurde erweitert, wobei die Möglichkeit hinzugefĂŒgt wurde, eine Codebasis zu verwenden, um BenutzeroberflĂ€chen fĂŒr Windows, macOS, iOS und Android zu erstellen. Experimentelle UnterstĂŒtzung fĂŒr die Kompilierung (Native AOT) wurde hinzugefĂŒgt. UnterstĂŒtzung fĂŒr die Plattformen Xcode 15 und Android API 34 wurde hinzugefĂŒgt. Grafikelemente und Tasten wurden modernisiert, die Verarbeitung von Mausklicks und Tastaturereignissen wurde verbessert.
- In C# 12 wurde die UnterstĂŒtzung fĂŒr eine vereinfachte Syntax zur Erstellung von PrimĂ€rkonstruktoren in beliebigen Klassen und Strukturen hinzugefĂŒgt, und die Erstellung von Arrays, Span und anderen Sammlungsarten wurde vereinfacht. Es wurden Mittel bereitgestellt, um Standardwerte fĂŒr Parameter von Lambda-AusdrĂŒcken festzulegen. Die Verarbeitung von optionalen Argumenten wurde vereinfacht. Es wurde die Möglichkeit eingefĂŒhrt, Aliasnamen fĂŒr beliebige Typen mithilfe der Direktive âaliasâ zu erstellen. // Erstellen einer Liste List a = [1, 2, 3, 4, 5, 6, 7, 8]; // Erstellen von Span-Arrays Span b = [âaâ, âbâ, âcâ, âdâ, âeâ, âfâ, âhâ, âiâ]; // Verwenden Sie den Spread-Operator zur VerknĂŒpfung int[] array1 = [1, 2, 3]; int[] array2 = [4, 5, 6]; int[] array3 = [7, 8, 9]; int[] fullArray = [..array1, ..array2, ..array3]; // Der Inhalt wird [1, 2, 3, 4, 5, 6, 7, 8, 9] sein
- In ASP.NET Core wurde die UnterstĂŒtzung fĂŒr die Authentifizierung auf Basis von Cookies und Tokens fĂŒr Single-Page-Anwendungen (SPA) und Webanwendungen (Blazor) implementiert. Eine neue BenutzeroberflĂ€che fĂŒr die Authentifizierung wurde vorgeschlagen. Der Schutz vor XSRF/CSRF-Angriffen wurde verstĂ€rkt.
- In Entity Framework Core wurden neue komplexe Typen bereitgestellt, die als Objekte verwendet werden können. Die UnterstĂŒtzung hierarchischer Daten in SQL Server wurde hinzugefĂŒgt.
- Im NuGet-Paketmanager wurde das Audit von Paketen in Projekten vereinfacht und die Information ĂŒber bekannte Schwachstellen sichergestellt.
- Im .NET Runtime wurde ein AOT-Modus (Ahead-of-Time) fĂŒr WebAssembly (WASM) und Android hinzugefĂŒgt.
- WPF hat den Dialog zum Ăffnen von Verzeichnissen (OpenFolderDialog) hinzugefĂŒgt und die UnterstĂŒtzung fĂŒr Hardwarebeschleunigung in RDP aktiviert.
- Die UnterstĂŒtzung fĂŒr die ARM64-Architektur wurde erheblich verbessert und die CodequalitĂ€t fĂŒr ARM erhöht.
- Im Debugger wird die Anzeige zusammenfassender Debug-Daten bereitgestellt und vereinfachte Debugging-Proxy-Schichten fĂŒr hĂ€ufig verwendete .NET-Typen implementiert.
Quelle: opennet.ru


