Microsoft heeft de release van het open platform .NET 8 aangekondigd, dat is ontwikkeld door de unificatie van de producten .NET Framework, .NET Core en Mono. Met .NET 8 kunnen cross-platform applicaties worden gemaakt voor browsers, cloudsystemen, desktop, IoT-apparaten en mobiele platforms, waarbij gebruik wordt gemaakt van uniforme bibliotheken en een gezamenlijk bouwproces dat niet afhankelijk is van het type applicatie. De builds van .NET SDK 8, .NET Runtime 8 en ASP.NET Core Runtime 8 zijn gemaakt voor Linux, macOS en Windows. .NET Desktop Runtime 8 wordt alleen voor Windows geleverd. De gerelateerde projectontwikkelingen worden verspreid onder de MIT-licentie. De .NET 8-tak valt onder de LTS-categorie en wordt tot november 2026 gedurende drie jaar ondersteund.
.NET 8 bevat de Runtime met de JIT-compiler RyuJIT, API-specificaties, de bibliotheken WPF, Windows Forms, WinUI, Entity Framework, de commandoregelinterface dotnet, evenals tools voor de ontwikkeling van microservices, bibliotheken, server-, grafische en console-applicaties. Daarnaast zijn er afzonderlijke publicaties voor de stack voor de ontwikkeling van webapplicaties ASP.NET Core 8.0, de ORM-laag Entity Framework Core 8.0 (met drivers, waaronder voor SQLite en PostgreSQL), de bibliotheek WPF 8 (Windows Presentation Foundation), het Windows Forms 8-framework voor GUI-ontwikkeling, het Aspire 8-platform voor het bouwen van Cloud Native-applicaties, het MAUI 8-framework voor de ontwikkeling van cross-platform gebruikersinterfaces, en de releases van de talen C# 12 en F# 8. Ondersteuning voor .NET 8.0 en C# 12 is inbegrepen in de gratis code-editor Visual Studio Code.
Kenmerken van de nieuwe release:
- Er is een grote prestatie-optimalisatie doorgevoerd. De nieuwe codegenerator, die standaard is ingeschakeld, ondersteunt dynamische optimalisatie op basis van code-uitvoeringsprofilering (Dynamic Profile-Guided Optimization). Het gebruik van de nieuwe codegenerator zorgt voor een prestatiewinst van tot 20% voor applicaties. Bovendien is in de nieuwe versie ondersteuning voor AVX-512-instructies toegevoegd, waarmee de prestaties van parallelle bewerkingen op vectorgegevens kunnen worden verbeterd. Voor primitieve types is er een nieuwe interface geĆÆmplementeerd die het mogelijk maakt om direct en zonder hercodering gegevens in UTF-8-indeling te parseren en te formatteren. In de TechEmpower-tests is de prestatie van JSON API met 18% verbeterd en die van Fortunes met 24%.

- Een nieuwe .NET Aspire-stack is toegevoegd, gericht op de ontwikkeling van cloud-native applicaties met behulp van .NET-technologieƫn. .NET Aspire biedt een uitgebreide set componenten die nodig kunnen zijn bij het creƫren van applicaties die functioneren in cloudomgevingen, inclusief tools voor telemetrieverzameling, configuratie, statuscontrole en fouttolerantie.
- De tools voor het verpakken van applicaties in geĆÆsoleerde containers zijn uitgebreid. Standaard wordt de publicatie van containerafbeeldingen mogelijk gemaakt zonder Dockerfile en zonder root-gebruiker. De grootte van de basiscontainerafbeelding met .NET-platformcomponenten is verminderd. Er is een minimalistische variant van de afbeelding toegevoegd voor het draaien van applicaties die zijn gecompileerd naar uitvoerbare bestanden (Native AOT). Een veiligere variant van de afbeeldingen op basis van Chiseled Ubuntu is toegevoegd.
- De efficiƫntie van compilatie naar zelfvoorzienende uitvoerbare bestanden (Native AOT) is verhoogd, waarin het hele project oorspronkelijk is gecompileerd naar de machinecode van het doelsysteem zonder gebruik te maken van tussencode en zonder JIT-toepassing.

- De mogelijkheden van de softwareinterfaces die kunnen worden gebruikt in machine learning-systemen zijn uitgebreid. Bijvoorbeeld in de System.Numerics-bibliotheek is de compatibiliteit met generatieve AI-systemen verhoogd. Er zijn voorbeelden toegevoegd voor het creƫren van chatbots, contentgeneratie en het aanspreken van Azure AI-diensten.
- In Blazor, het platform voor het creƫren van webapplicaties met C#, is de laadtijd van pagina's verminderd, de schaalbaarheid verhoogd, en het gebruik van zowel Blazor Server als Blazor WebAssembly in ƩƩn applicatie is toegestaan om programma's te creƫren die functies combineren. de server en client. Jiterpreter is toegevoegd, een nieuwe snellere WebAssembly-runtime die de rendering van de interface met 20% heeft versneld. De mogelijkheden voor authenticatie, autorisatie en identificatie zijn uitgebreid.
- Het MAUI-framework voor de ontwikkeling van multiplatformgebruikersinterfaces is uitgebreid, waarbij de mogelijkheid is geboden om ƩƩn codebasis te gebruiken voor het bouwen van interfaces voor Windows, macOS, iOS en Android. Experimentele ondersteuning voor compilatie (Native AOT) is toegevoegd. Ondersteuning voor Xcode 15 en Android API 34 is toegevoegd. Grafische elementen en knoppen zijn gemoderniseerd, en de verwerking van muisklikken en toetsenbordevenementen is verbeterd.
- In C# 12 is support added for simplified syntax to create primary constructors in any classes and structures, as well as simplified creation of arrays, span, and other collection types. Tools have been provided to set default values for lambda expression parameters. Handling of optional arguments has been simplified. The ability to create aliases for any types using the "alias" directive has been added. // Create a list List a = [1, 2, 3, 4, 5, 6, 7, 8]; // Create span arrays Span b = [āaā, ābā, ācā, ādā, āeā, āfā, āhā, āiā]; // Use the spread operator to concatenate int[] array1 = [1, 2, 3]; int[] array2 = [4, 5, 6]; int[] array3 = [7, 8, 9]; int[] fullArray = [..array1, ..array2, ..array3]; // content will be [1, 2, 3, 4, 5, 6, 7, 8, 9]
- In ASP.NET Core, support has been implemented for authentication based on Cookies and tokens for single-page applications (SPA) and web applications (Blazor). A new user interface for authentication has been proposed. Protection against XSRF/CSRF attacks has been enhanced.
- In Entity Framework Core, new complex types have been provided that can be used as objects. Support for hierarchical data in SQL Server has been added.
- In the NuGet package manager, package auditing in projects has been simplified and information regarding known vulnerabilities has been ensured.
- In .NET Runtime, a ahead-of-time compilation (AOT) mode has been added for WebAssembly (WASM) and Android platforms.
- WPF has added an open folder dialog (OpenFolderDialog) and included support for hardware acceleration in RDP.
- Significantly improved support for ARM64 architecture and enhanced code quality for ARM.
- In the debugger, summary debugging data is displayed and simplified debugging layers for commonly used .NET types have been implemented.
Bron: opennet.ru


