Kompanija Microsoft prezantoi lëshimin e platformës së hapur .NET 8, e cila u krijua përmes unifikimit të produkteve .NET Framework, .NET Core dhe Mono. Në bazë të .NET 8 mund të krijohen aplikacione shumëplatformëshe për shfletuesin, sistemet cloud, desktopin, pajisjet IoT dhe platformat mobile, duke përdorur libra të njëjtë dhe një proces ndërtimi të përbashkët, pa marrë parasysh llojin e aplikacionit. Ndërtesat .NET SDK 8, .NET Runtime 8 dhe ASP.NET Core Runtime 8 janë formuar për Linux, macOS dhe Windows. .NET Desktop Runtime 8 ofrohet vetëm për Windows. Të dhënat e lidhura me projektin shpërndahen nën licencën MIT. Vija .NET 8 është klasifikuar në kategorinë LTS dhe do të mbështetet për tre vjet deri në nëntor 2026.
.NET 8 përfshin Runtime me JIT-kompilatorin RyuJIT, specifikimet e API, bibliotekat WPF, Windows Forms, WinUI, Entity Framework, ndërfaqen e linjës së komandave dotnet, si dhe mjete për zhvillimin e mikrosherbimeve, bibliotekave, aplikacioneve server, grafike dhe konsolore. Është publikuar veçmas stoku për zhvillimin e aplikacioneve web ASP.NET Core 8.0, ORM-në Entity Framework Core 8.0 (drejtorët janë në dispozicion, përfshirë për SQLite dhe PostgreSQL), biblioteka WPF 8 (Windows Presentation Foundation), framework-u Windows Forms 8 për zhvillimin e GUI, platforma Aspire 8 për krijimin e aplikacioneve Cloud Native, framework-u MAUI 8 për zhvillimin e ndërfaqeve të përdoruesit shumëplatformëshe, si dhe lëshimet e gjuhëve C# 12 dhe F# 8. Mbështetja për .NET 8.0 dhe C# 12 është përfshirë në editorin e kodit të lirë Visual Studio Code.
Karakteristikat e lëshimit të ri:
- Është kryer një optimizim i madh i performancës. Një gjenerues i ri kodi, që mbështet optimizimin dinamik të bazuar në profilin e ekzekutimit të kodit (Dynamic Profile-Guided Optimization), është aktivizuar si parazgjedhje. Përdorimi i gjeneruesit të ri të kodit siguron një rritje të performancës së aplikacioneve deri në 20%. Për më tepër, në versionin e ri është shtuar mbështetje për instruksionet AVX-512, që lejojnë rritjen e performancës për operacione të paralelizuara mbi të dhënat vektoriale. Për llojet primare është realizuar një ndërfaqe e re, që lejon analizimin dhe formatimin e të dhënave në formatin UTF-8 pa dekodim. Në testet TechEmpower, performanca në punën me JSON API është rritur me 18%, ndërsa me Fortunes me 24%.

- Është shtuar një stok i ri .NET Aspire, që është i dedikuar për zhvillimin e aplikacioneve të shkuara në cloud (cloud-native), duke përdorur teknologjitë .NET. Në .NET Aspire ofrohet një set i gjerë komponentësh, që mund të nevojiten gjatë krijimit të aplikacioneve që drejtohen në ambientet cloud, përfshirë mjetet për mbledhjen e telemetrisë, konfigurimin, verifikimin e funksionalitetit dhe sigurimin e qëndrueshmërisë.
- Janë zgjeruar mjetet për paketimin e aplikacioneve në kontejnerë të izoluar. Publikimi i imazheve të kontejnerëve është siguruar si parazgjedhje pa Dockerfile dhe pa përdorues root. Madheza e imazhit bazë të kontejnerit me komponentët e platformës .NET është reduktuar. Është shtuar një version minimal të imazhit për të ndihmuar aplikacionet e kompozuara në skedarë ekzekutivë (Native AOT). Është shtuar një variant më i mbrojtur i imazheve mbi bazën e Chiseled Ubuntu.
- Është rritur efikasiteti i kompilimit në skedarë ekzekutivë të pavarur (Native AOT), ku i gjithë projekti është kompiluar fillimisht në kodin e makinës së platformës së synuar pa përdorur kodin ndërmjetës dhe pa aplikuar JIT.

- Janë zgjeruar mundësitë e ndërfaqeve programore që mund të përdoren në sistemet e mësimit të makinerive. Për shembull, në bibliotekën System.Numerics është rritur kompatibiliteti me sistemet AI-gjeneruese. Janë shtuar shembuj për ndërgjegjësimin e chatbot-ëve, gjenerimin e përmbajtjes dhe aksesin në shërbimet Azure AI.
- Në Blazor, platforma për krijimin e aplikacioneve web në gjuhën C#, është reduktuar koha e ngarkimit të faqeve, është rritur shkallëzueshmëria, dhe është lejuar përdorimi në një aplikacion të Blazor Server dhe Blazor WebAssembly për krijimin e programeve që kombinojnë funksionalitetin e klientit dhe serverit. Një Jiterpreter, një runtime i ri më i shpejtë për WebAssembly, është shtuar, duke lejuar përshpejtimin e vizatimit të ndërfaqes me 20%. Janë zgjeruar mundësitë për autentikim, autorizim dhe identifikim. server Framework-u MAUI për zhvillimin e ndërfaqeve të përdoruesit shumëplatformëshe është zgjeruar, duke ofruar mundësinë e përdorimit të një kodi të vetëm për ndërtimin e ndërfaqeve për Windows, macOS, iOS dhe Android. Është shtuar mbështetje eksperimentale për kompilimin (Native AOT). Është ofruar mbështetje për platformat Xcode 15 dhe Android API 34. Janë modernizuar elementët grafikë dhe butonat, dhe është përmirësuar trajtimi i klikimeve të miut dhe ngjarjeve nga tastiera.
- Framework-u MAUI për zhvillimin e ndërfaqeve të përdoruesit shumë-platformë është zgjeruar, duke ofruar mundësinë e përdorimit të një baze kodi për të ndërtuar ndërfaqet për Windows, macOS, iOS dhe Android. Është shtuar mbështetje eksperimentale për kompilimin (Native AOT). Është shtuar mbështetje për platformat Xcode 15 dhe Android API 34. Elementet grafike dhe butonat janë modernizuar, dhe përpunimi i klikimeve me miun dhe ngjarjeve nga tastiera është përmirësuar.
- Në gjuhën C# 12 është shtuar mbështetje për sintaksën e thjeshtëzuar për krijimin e konstruktorëve primarë në çdo klasë dhe strukturë, si dhe është thjeshtësuar krijimi i masivave, span dhe llojeve të tjera të koleksioneve. Janë ofruar mjete për caktimin e vlerave të paracaktuara për parametrat e shprehjeve lambda. Është thjeshtësuar përpunimi i argumenteve opsionale. Është shtuar mundësia për të krijuar pseudonime për çdo lloj duke përdorur direktivën "alias". // Krijimi i një liste List a = [1, 2, 3, 4, 5, 6, 7, 8]; // Krijimi i span-masivave Span b = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘h’, ‘i’]; // Përdor operatorin spread për të bashkuar int[] array1 = [1, 2, 3]; int[] array2 = [4, 5, 6]; int[] array3 = [7, 8, 9]; int[] fullArray = [..array1, ..array2, ..array3]; // përmbajtja do të jetë [1, 2, 3, 4, 5, 6, 7, 8, 9]
- Në ASP.NET Core për aplikacione me një faqe (SPA, single-page application) dhe web-aplikacione (Blazor) është realizuar mbështetje për autentikimin e bazuar në Cookie dhe tokena. Është propozuar një ndërfaqe e re për përdoruesit për kalimin e autentikimit. Është forcuar mbrojtja ndaj sulmeve XSRF/CSRF.
- Në Entity Framework Core janë ofruar lloje të reja komplekse, të cilat mund të përdoren si objekte. Është shtuar mbështetje për të dhëna hierarkike në SQL Server.
- Në menaxherin e pakove NuGet është thjeshtësuar auditi i pakove në projekte dhe është siguruar informimi në lidhje me praninë e dobësive të njohura.
- Në .NET Runtime është shtuar një mod i kompilimit të parashikimit (AOT) për platformat WebAssembly (WASM) dhe Android.
- WPF është shtuar dialogu për hapjen e dosjeve (OpenFolderDialog) dhe është përfshirë mbështetje për përshpejtimin e harduerit në RDP.
- Është përmirësuar ndjeshëm mbështetja për arkitekturën ARM64 dhe është rritur cilësia e kodit për ARM.
- Në debuguer është siguruar shfaqja e të dhënave përmbledhëse të debugimit dhe janë realizuar shtresa të thjeshta për debugimin e llojeve të zakonshme .NET.
Burimi: opennet.ru


