Microsoft ogłosił wydanie nowej wersji platformy programistycznej .NET 8. Zawiera ona nie tylko masę ulepszeń wydajności, stabilności i bezpieczeństwa, ale też nowy generator kodu, Dynamic Profile-Guided Optimization (PGO), które powinno podnieść wydajność aplikacji utworzonych w .NET 8 nawet do 20%.
Dynamic Profile-Guided Optimization (PGO) to nowy generator kodu, który optymalizuje bazę kodu do użycia w rzeczywistym świecie i zwiększa wydajność aplikacji do 20%. Zestaw instrukcji AVX-512 — teraz wspierany — pozwala wykonywanie równoległych operacji na 512-bitowych wektorach danych, co oznacza możliwość przetwarzania znacznie większej ilości danych w krótszym czasie. Nowa wersja platformy cechuje się też wzrostem zapytań na sekundę względem .NET 7, co pokazały benchmarki w scenariuszach JSON API (+18%) i Fortunes (+24%).
Microsoft uruchomił też wersję zapoznawczą .NET Aspire, stos do budowania odpornych, obserwowalnych i konfigurowalnych aplikacji cloud-native z .NET. Zawiera on zestaw przygotowanych składników dla aplikacji opartych na chmurze z dołączoną domyślnie telemetrią, odpornością, konfiguracją i sprawdzaniem kondycji.
Jeśli chodzi o pakowanie aplikacji z kontenerami, w .NET 8 jest to łatwiejsze i bezpieczniejsze niż kiedykolwiek wcześniej. Każdy obraz .NET zawiera użytkownika non-root, co pozwala tworzyć bezpieczne kontenery dzięki konfiguracji jednowierszowej. Za sprawą mniejszych obrazów bazowych .NET możesz wdrażać konteneryzowane aplikacje szybciej. Są też dostępne nowe, wzmocnione warianty obrazów Chiseled Ubuntu.
Kompilowanie aplikacji .NET do natywnego kodu, który używa mniej pamięci i uruchamia się natychmiastowo, jest teraz możliwe. Nie ma potrzeby czekania na kompilator JIT (just-in-time) ani wdrażania jego i kodu IL. Aplikacje AOT wdrażają tylko kod potrzebny dla Twojej aplikacji. Twoje aplikacje mogą teraz uruchamiać się w ograniczonych środowiskach, w których kompilator JIT nie jest dozwolony.
.NET sięga też po najnowsze rozwiązania generatywnej sztucznej inteligencji i dużych modeli językowych (LLMs), aby umożliwić deweloperom tworzenie unikalnych rozwiązań AI. To wydanie .NET ułatwia wykorzystanie AI poprzez gotowe funkcje i narzędzia zintegrowane z .NET SDK. To między innymi ulepszenia System.Numerics, kompatybilność z obciążeniami generatywnej AI, np. integracja Tensor Primitives. Twórcy platformy współpracowali też z partnerami, takimi jak Azure OpenAI, Azure Cognitive Search, Milvus, Qdrant i Microsoft Teams, aby zapewnić deweloperom łatwy dostęp do różnych modeli, usług i platform AI.
.NET 8 wspiera także Blazor, umożliwiający budowanie full stackowych aplikacji webowych z .NET, .NET MAUI z ulepszeniami, funkcjonalność C# 12, rodzinę narzędzi Visual Studio i szereg nowych funkcji związanych z ASP.NET Core, Entity Framework Core, NuGet, .NET Runtime, .NET SDK, WPF, ARM64, debugowaniem, System.Text.Json, .NET Community Toolkit, Microsoft Azure, F# 8 i nie tylko. Pełną listę zmian można sprawdzić w oficjalnej dokumentacji.
Źródło: https://devblogs.microsoft.com/dotnet/announcing-dotnet-8/