A Microsoft kedden bejelentette, hogy hivatalosan is elérhetővé tette immár egységes .NET platformja legújabb verziójának végleges változatát. A .NET 7 kiadása egyben az ASP.NET Core 7, .NET MAUI, a C#11, az F# 7, valamint az Entity Framework, a WinForms és a WPF frissített verzióinak elérhetővé válását is jelenti.

A .NET 7 rengeteg újdonságot hoz minden érintett terület vonatkozásában a korábbiakhoz képest. Ezek közül általánosságban a legfontosabb, hogy immár az összes célplatform - beleértve a natívak mellett (amikhez az ARM64 is csatlakozott már) a webes, mobilos, felhős, konzolos, de még IoT-s típusúakat is - egyetlen közös báziskönyvtárral dolgozik, illetve, hogy ez utóbbira építve ezek bármelyikén futó alkalmazásokat és kódokat lehet készíteni.

.NET MAUI

Ezt különösen segíti az új .NET MAUI (.NET Multi-platform App UI), ami minden említett környezetben lehetővé teszi, hogy a programok egységes kódból építsenek és üzemeltessenek egy grafikus felhasználói felületet. Korábban ugyanis a többplatformos működés azonos kódból leginkább csak a parancssori vagy szerviz jellegű megoldásokra korlátozódott - de a MAUI-nak köszönhetően immár a hagyományos értelemben vett (grafikus) alkalmazások építésére is lehetőség van iyen módon.

ASP.NET Core 7

Ugyanakkor az egyes platformok specifikus fejlesztéseket is kapnak az új verzióban. Így pl. az ASP.NET Core 7 újdonsága, hogy immár képes a HTTP/3 protokoll, valamint a WebSockets over HTTP/2 használatára is, ami jelentős javítja interoperábilitását a modern megoldásokkal, de közvetlenül tudja a rátalimitálást is, az arra alkalmas kimenetet pedig gyorstárazni is tudja, a gyorsabb kiszolgálás érdekében.

Szintén új, hogy a gRPC API-kat automatikusan JSON-alapúakká lehet alakítani, a Blazor pedig már támogatja az egyedi (custom) HTML elemek használatát és a dinamikus authentikációt is, valamint jobban együtt képes működni a WebAssembly és SIMD kódokkal is.

WinForms 7

A WinForms 7 esetében a Microsoft a főbb fejlesztések között a képernyőolvasók támogatásának teljessé válását említi, amivel immár olyan vezérlők is együttműködnek, amik korábban nem, illetve ugyanez mondható el az UI Automation támogatásáról is. Ezen kívül a keretrendszer új verziója támogatja a szupernagy képsűrűségű (pl. 8K-s) kijelzők használatát is, az adatkötésben pedig a klasszikusnál jóval modernebb, adatkontextusokon és parancsmintákon alapuló megoldást lehet már használni.

Entity Framework 7

Az Entity Framework 7 egyik legfontosabb újítás a JSON típusú adatoszlopok támogatásának megjelenése, ami lényegében a mezőn belüli értékek manipulációját, valamint az azok lekérdezését és az azok alapján történő szűrést egyszerűsíti, illetve, hogy ezek a JSON oszlopokra vonatkozó kifejezések, műveletek már a LINQ szerkezetekbe is belekódolhatók benne.

Szintén új az összevont/tömeges update és delete műveletek használatának lehetősége, ami ezek előzetes betöltése nélkül teszi lehetővé a szóban forgó művelete végehajtását, de az egyes rekordok egyedi változásai is gyorsabban kerülhetnek rögzítésre, mivel ezekhez már nem nyit tranzakciót a keretrendszer, ha nem szükséges.

C# 11

A .NET 7-ben az API-kkal együtt fejlődnek a platform saját nyelvei is, köztük a C# és az F# is. Előbbi esetében az egyik fejlesztést olyan új interfészek megjelenése, amiknek köszönhetően immár matematikai, operátor jellegű generikusok létrehozására is lehetőség van, illetve, hogy szinte bármilyen típus kezelhető lehet ezekben számok módjára.

Ezen kívül mostantól sortöréseket és speciális karaktereket tartalmazó sztringliterálisokat is közvetlenül, átalakítás nélkül lehet a kódba szúrni egy új - a fejlesztő által egyedileg megválasztható delimiter-szekvencia segítségével, az időtípusok pedig már nanoszekundumok ábrázolására is képesek lettek.

További újdonságok és elérhetőség

A .NET 7 további fejlesztéseiről részletesen innen elindulva lehet olvasni, míg az új keretrendszer letöltése innen lehetséges. A .NET 7 újdonságai elérhetők a Visual Studio 2022 szintén most kiadott legújabb, 17.4-es verziójában is, amit innen lehet letölteni.