A Microsoft bemutatta a nyílt .NET 8 platforma kiadását, amely a .NET Framework, a .NET Core és a Mono termékek egyesítésének eredményeként jött létre. A .NET 8 segítségével platformfüggetlen alkalmazásokat lehet készíteni böngészők, felhőalapú rendszerek, asztali számítógépek, IoT-eszközök és mobilplatformok számára, egységes könyvtárakat és közös build folyamatot használva, függetlenül az alkalmazás típusától. A .NET SDK 8, a .NET Runtime 8 és az ASP.NET Core Runtime 8 kiadások Linux, macOS és Windows rendszerhez készültek. A .NET Desktop Runtime 8 csak Windowsra készül. A projekthez kapcsolódó fejlesztések MIT licenc alatt érhetők el. A .NET 8 ága LTS kategóriába tartozik, és három éven keresztül, 2026 novemberéig támogatva lesz.
A .NET 8 tartalmaz egy Runtime-ot a RyuJIT JIT-compilerrel, API-specifikációkat, WPF, Windows Forms, WinUI könyvtárakat, Entity Framework-öt, a dotnet parancssort, valamint eszközöket mikroszolgáltatások, könyvtárak és szerveroldali, grafikai és konzolalkalmazások fejlesztéséhez. Külön közzétették az ASP.NET Core 8.0 webalkalmazás-fejlesztési stackjét, az Entity Framework Core 8.0 ORM-rétegét (a driverek közé tartozik a SQLite és PostgreSQL is), a WPF 8 (Windows Presentation Foundation) könyvtárat, a Windows Forms 8 keretrendszert GUI-fejlesztéshez, az Aspire 8 platformot Cloud Native alkalmazások készítéséhez, a MAUI 8 keretrendszert többplatformos felhasználói interfészek fejlesztéséhez, valamint a C# 12 és F# 8 nyelvek kiadásait. A .NET 8.0 és C# 12 támogatása ingyenes Visual Studio Code szerkesztőbe beépítve van.
Az új verzió jellemzői:
- Jelentős teljesítményoptimalizációt végeztek. Alapértelmezetten aktiválták az új kódgenerátort, amely dinamikus optimalizálást támogat a kód végrehajtásának profilozása alapján (Dynamic Profile-Guided Optimization). Az új kódgenerátor használata akár 20%-os teljesítményjavulást biztosít az alkalmazások számára. Ezen kívül az új verzióban AVX-512 utasítások támogatása is hozzáadásra került, amelyek lehetővé teszik a párhuzamos műveletek teljesítményének növelését vektordadatokon. Az egyszerű típusok számára egy új interfészt valósítottak meg, amely lehetővé teszi az adatok közvetlen parse-elését és formázását UTF-8 formátumban, kódolás nélkül. A TechEmpower tesztekben a JSON API teljesítménye 18%-kal, míg a Fortunes 24%-kal nőtt.

- Új .NET Aspire stack került bevezetésre, amely a felhőalapú alkalmazások (cloud-native) fejlesztésére szolgál .NET technológiákat használva. Az .NET Aspire széleskörű összetevőket kínál, amelyek szükségesek lehetnek felhőalapú környezetben futó alkalmazások létrehozásához, beleértve a telemetria gyűjtésére, konfigurálására, működésének ellenőrzésére és a hibatűrés biztosítására szolgáló eszközöket.
- Bővültek az alkalmazások izolált konténerekbe való csomagolására szolgáló eszközök. Alapértelmezés szerint lehetővé vált a konténerképek kiadása Dockerfile és root felhasználó nélkül. Csökkent a .NET platform összetevőit tartalmazó alap konténerkép mérete. Bevezetésre került egy minimalista képvariáció, amely lehetővé teszi az végrehajtható fájlokba (Native AOT) lefordított alkalmazások futtatását. Biztonságosabb képvariációk is rendelkezésre állnak, amelyek Chiseled Ubuntu alapúak.
- Növelték a Native AOT végrehajtható fájlok hatékonyságát, amelyek esetében az egész projekt kezdetben a célplatform gépi kódjára van fordítva, köztes kód használata és JIT alkalmazása nélkül.

- Bővültek a gépi tanulási rendszerekben felhasználható programozási interfészek képességei. Például a System.Numerics könyvtárban javult a generatív AI rendszerekkel való kompatibilitás. Új példák kerültek hozzáadásra chatbot tudatosságához, tartalomgeneráláshoz és Azure AI szolgáltatásokhoz való kapcsolódáshoz.
- A Blazor, a C# nyelven készült webalkalmazások létrehozására szolgáló platform, csökkentette az oldalak betöltési idejét, javította a skálázhatóságot, lehetővé tette a Blazor Server és Blazor WebAssembly együttes használatát egy alkalmazásban, mely programok funkciókat kombinálnak. a szerver és kliens oldalról. Új Jiterpreter került bevezetésre, egy gyorsabb WebAssembly futtató, amely 20%-kal felgyorsította a felhasználói felület renderelését. Bővült az autentikáció, autorizáció és azonosítás lehetőségei.
- A MAUI keretrendszer bővült a többplatformos felhasználói felületek fejlesztésére, ahol egyetlen kódalap használatával lehet létrehozni felhasználói felületeket Windows, macOS, iOS és Android számára. Kísérleti támogatást kaptak a Native AOT fordítások. Továbbá, támogatás került bevezetésre az Xcode 15 és az Android API 34 platformokhoz. Frissítették a grafikai elemeket és gombokat, javították az egérkattintások és a billentyűzet események kezelését.
- A C# 12-ben bevezetésre került a csökkentett szintaxis támogatása, amely lehetővé teszi a primér konstruktorok létrehozását bármely osztályban és struktúrában, valamint egyszerűsödött a tömbök, span és más gyűjteménytípusok létrehozása. Eszközök állnak rendelkezésre a lambda kifejezések paramétereinek alapértelmezett értékeinek megadásához. Egyszerűsödött a választható érvek kezelése. Lehetővé vált bármilyen típusú alias létrehozása az 'alias' direktíva segítségével. // Lista létrehozása List a = [1, 2, 3, 4, 5, 6, 7, 8]; // Span tömbök létrehozása Span b = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘h’, ‘i’]; // Használja a szétterítő operátort a fűzéshez int[] array1 = [1, 2, 3]; int[] array2 = [4, 5, 6]; int[] array3 = [7, 8, 9]; int[] fullArray = [..array1, ..array2, ..array3]; // a tartalom: [1, 2, 3, 4, 5, 6, 7, 8, 9]
- Az ASP.NET Core-ban, egylapos (SPA, single-page application) és webalkalmazásokhoz (Blazor) bevezetésre került a Cookie és token alapú hitelesítés támogatása. Új felhasználói felületet kínálnak a hitelesítés lebonyolításához. Megerősítették a védekezést az XSRF/CSRF támadások ellen.
- Az Entity Framework Core-ban új összetett típusok állnak rendelkezésre, amelyeket objektumként lehet használni. Támogatva van a hierarchikus adatok kezelése az SQL Serverben.
- A NuGet csomagkezelőben egyszerűsítették a csomagok auditálását a projektekben, és információt nyújtanak a megismert sebezhetőségekről.
- A .NET Runtime-hoz hozzáadódott az előre kompilálási (AOT) mód a WebAssembly (WASM) és Android platformokhoz.
- A WPF-hez hozzáadták a mappa megnyitásához szükséges párbeszédablakot (OpenFolderDialog) és belekerült a hardveres gyorsítás támogatása a RDP-be.
- Jelentősen javították az ARM64 architektúra támogatását és növelték a kódminőséget ARM-ra.
- A hibakeresőben megjelennek az összesített hibakeresési adatok, és egyszerűsített hibakeresési rétegek kerültek bevezetésre a gyakran használt .NET típusok számára.
Forrás: opennet.ru


