2022. október 11.
A .NET vagy ha úgy tetszik, dotnet a Microsoft által létrehozott keretrendszer, ami különféle kategóriába tartozó alkalmazások fejlesztésére alkalmas. A .NET egy igen kedvelt keretrendszer, köszönhetően annak, hogy több platformon alkalmazható, ingyenes és nyílt forráskódú. Jelenleg a .NET 6 (dotnet 6) a legfrissebb hivatalos verziója, 2022 november hónapjában azonban érkezik a legújabb változat, a .NET 7 (dotnet 7).
Az informatikai rendszerek, keretrendszerek folyamatos fejlesztése a fennmaradáshoz elengedhetetlen. A körülmények dinamikusan változnak, ehhez pedig az IT infrastruktúrának is igazodni kell. Ezért jött létre a .NET legújabb változata, a .NET 7, amelynek előzetes verziói ugyan már elérhetők, a hivatalos dotnet 7 azonban csak novemberben érkezik.
Milyen újdonságok lesznek a .NET 7-ben?
A .NET 6 megjelenését követően a fejlesztők már rögtön bele is fogtak a .NET 7 előkészítésébe és már jelentek is meg a várható újdonságok, az új funkciók. Nézzük, milyen lesz a .NET 7!
- Natív AOT: A .NET 7 egyik újdonsága a natív AOT (Ahead-Of-Time). Ennek lényege, hogy fordítás közben generál kódot natív nyelven. Ezzel jelentősen megnövekedik a teljesítmény. Az adatstruktúrák ugyanis nem arra fókuszálnak, hogy az új kódot futtatás közben lefordítsák, hanem az AOT által generált kódot futtatják.
- Managed Extensibility Framework frissítés: Az új API-knak köszönhetően lehetséges egyetlen objektumot hozzáadni a Systme.Composition.Hosting tárolóhoz.
- Megfigyelhetőség javítása: Javult az OpenTelemetry támogatása, így a megfigyelhetőség is.
- Gyorsabb indulás: 10-15%-kal javult az indítási idő, köszönhetően annak, hogy csökkent a kód létrehozását és futtatását követő módosítások száma.
- X.500 biztonságosabb generálása: Az X500DistinguishedName osztály hozzáadásával megszűntek a korábbi névfelépítésből adódó problémák.
- Blazor és a .NET MAUI összeolvadása: A Blazor képes arra, hogy az alkalmazás nézeteket kliens oldalon futtassa, a .NET MAUI pedig egy olyan keretrendszer, amit kifejezetten mobilappok fejlesztésére dolgoznak ki. Ezt vegyíti a Microsoft a .NET 7-ben.
- Modern Cloud: A felhő alapú alkalmazások létrehozását könnyíti meg a Modern Cloud.
- Egyszerűbb app-frissítés: egyszerűbbé válik a .NET alkalmazások frissítése és érkezik majd egy .NET frissítési asszisztens is.
- Hot Reload: a .NET 6-ban kedvelt Hot Reload frissül majd a .NET 7-ben, ott lesz a Blazor WebAssembly-ben, illetve a .NET Android és iOS rendszeren.
- Exponált metódusok: segítségükkel a teljesítménytesztek hatékonysága növelhető.
- Mikorszekundumok és nanoszekundumok: a dátum- és időstruktúrákhoz mikroszekundumokat és nanoszekundumokat adnak hozzá.
- Egyetlen és több memória gyorsítótár lehetősége: Az AddMemoryCache API segítségével egyetlen memória-gyorsítótár is létrehozható. Ugyanígy, létrehozható azonban több memória-gyorsítótár is.
- Tar API-k: a többplatformos API-nak köszönhetően kibonthatók és módosíthatók a tar archívumok.
- OSR: lehetővé teszi a végrehajtás közben a végrehajtott kód megváltoztatását. Ezzel 25%-kal növelhető a sebesség.
- UTF-8 és UTF-16: dekódolás nélkül lehet másolni UTF-8 és UTF-16 karakterláncokat is.
- Regex Source Generator: a továbbfejlesztett változatnak köszönhetően az optimalizálásra fordított idő ötödét le lehet faragni.
- SDK fejlesztések: intuitívabb és hatékonyabb lapkitöltés.
- Megváltoznak a parancsnevek: a – előtagot már nem tartalmazzák a .NET 7-ben.
- Tab kitöltése: a Tab billentyű kitöltése támogatott, több funkciót is lehetővé tesz.
- Dinamikus PGO: a Dinamikus PGO mindössze annyit követel meg a fejlesztőtől, hogy futtassa az optimalizálni kívánt alkalmazást.
- System.Reflection: feladata a metaadatok szerinti tárolás, a visszakeresés megkönnyítése.
- Loop optimalizálás: megszűntek a loop klónozási változók inicializálási feltételei.
- Címkeszámláló módszerek: az ActivityEvent használatával elérhető az ActivityLink, az objektumok felsorolása tehát a teljesítmény csökkenése nélkül végezhető el.
A .NET 7 tehát megannyi újítást tartogat. Kíváncsian várjuk a hivatalos verzió megjelenését novemberben!
A blogposzt a dotnetsafer bejegyzése alapján készült.