Microsofti ettevĂ”te tutvustas avatud platvormi .NET 8 vĂ€ljalaset, mille on loonud .NET Frameworki, .NET Core'i ja Mono tooteid ĂŒhtsustav ĂŒlesehitus. .NET 8 pĂ”hjal on vĂ”imalik luua mitme platvormiga rakendusi brauseritele, pilvesĂŒsteemidele, lauaarvutitele, IoT-seadmetele ja mobiilsetele platvormidele, kasutades ĂŒhiseid raamatukogusid ja ĂŒhtset kogumise protsessi, mis ei sĂ”ltu rakenduse liigist. .NET SDK 8, .NET Runtime 8 ja ASP.NET Core Runtime 8 kogud on loodud Linuxi, macOS-i ja Windowsi jaoks. .NET Desktop Runtime 8 on saadaval ainult Windowsile. Projekti seotud arendustööd levitatakse MIT litsentsi alusel. .NET 8 haru kuulub LTS kategooriasse ja seda toetatakse kolme aasta jooksul kuni novembrini 2026.
.NET 8 sisaldab runtime'i koos JIT-koodigeneraatoriga RyuJIT, API-spetsifikatsioone, WPF, Windows Forms, WinUI, Entity Frameworki raamatukogusid, dotnet kÀsurealiidest ning tööriistu mikroteenuste, raamatukogude, serveri-, graafika- ja konsoolrakenduste arendamiseks. Eraldi on avaldatud ASP.NET Core 8.0 veebirakenduste arendamise komplekt, ORM-kiht Entity Framework Core 8.0 (sh draiverid SQLite ja PostgreSQL jaoks), WPF 8 (Windows Presentation Foundation) raamatukogu, Windows Forms 8 raamistik GUI arendamiseks, Aspire 8 platvorm Cloud Native rakenduste loomiseks, MAUI 8 raamistik platvormidevaheliste kasutajaliideste arendamiseks ning C# 12 ja F# 8 keelte vÀljalasked. .NET 8.0 ja C# 12 toetamine on sisse ehitatud tasuta Visual Studio Code redigeerijasse.
Uue vÀljaande omadused:
- Toimunud on ulatuslik jĂ”udluse optimeerimine. Vaikimisi on sisse lĂŒlitatud uus koodigeneraator, mis toetab dĂŒnaamilist optimiseerimist, mis pĂ”hineb koodi tĂ€itmise profiilide analĂŒĂŒsil (Dynamic Profile-Guided Optimization). Uue koodigeneraatori kasutamine tagab rakenduste jĂ”udluse kuni 20% tĂ”usu. Lisaks on uues versioonis lisatud AVX-512 juhiste tugi, mis vĂ”imaldab parandada paralleelsete operatsioonide jĂ”udlust vektorandmete osas. Primitiivsetele tĂŒĂŒpidele on rakendatud uus liides, mis vĂ”imaldab otse ilma dekodeerimiseta analĂŒĂŒsida ja vormindada andmeid UTF-8 formaadis. TechEmpoweri testides suurenes JSON API jĂ”udlus 18% ja Fortunesi puhul 24%.

- Lisatud uus .NET Aspire'i tehnoloogiapakk, mis on mÔeldud pilvepÔhiste rakenduste (cloud-native) arendamiseks .NET tehnoloogiate abil. .NET Aspire pakub laia valikut komponente, mis vÔivad olla vajalikud rakenduste loomiseks, mis töötavad pilves, sealhulgas tööriistu telemeetriate kogumiseks, seadistamiseks, töökindluse testimiseks ja tÔrkekindluse tagamiseks.
- Rakenduste pakendamise tööriistu on laiendatud isoleeritud konteineritesse. Vaikimisi on tagatud konteineripiltide koostamine ilma Dockerfile ja juurt kasutamata. .NET tehnoloogia komponentide baasimagendi suurust on vÀhendatud. Lisatud on minimalistlik pildiversioon rakenduste kÀivitamiseks, mis on kompileeritud tÀidetavateks failideks (Native AOT). Lisatud on turvalisem pildiversioon, mis pÔhineb Chiseled Ubuntu'l.
- Kompilatsiooni efektiivsust on suurendatud iseseisvate tÀidetavate failide (Native AOT) jaoks, kus kogu projekt on algselt kompileeritud sihtplatvormi masinkoodiks ilma vahekoodita ja ilma JIT-ita.

- Tarkvaraliideste vĂ”imalusi on laiendatud, et neid saaks kasutada masinĂ”ppe sĂŒsteemides. NĂ€iteks on System.Numerics raamatukogus suurendatud ĂŒhilduvust generatiivsete AI-sĂŒsteemidega. Lisatud on nĂ€idised chat-boti teadlikkuse, sisu genereerimise ja Azure AI teenustega suhtlemise jaoks.
- Blazor'is, C#-i web-rakenduste loomise platvormis, on vÀhendatud lehe laadimise aega, suurendatud mÔÔdetavust ja lubatud sama rakenduse Blazor Server ja Blazor WebAssembly kasutamine, et luua programme, mis kombineerivad funktsionaalsust serverilt ja klienti. Lisatud on Jiterpreter, kiirem WebAssembly töötlemismoodul, mis on vÔimaldanud liidese joonistamist kiirendada 20%. KÀitumise autentimise, autoriseerimise ja identifitseerimise vÔimalusi on laiendatud.
- MAUI raamistikku on laiendatud multidistaalsetele kasutajaliidesele, kus on vĂ”imalik kasutada ĂŒhte koodibaasi rakenduste koostamiseks Windows, macOS, iOS ja Android platvormide jaoks. Lisatud on eksperimentaalne tugi kompileerimiseks (Native AOT). Tuge on pakutud ka Xcode 15 ja Android API 34 platvormide jaoks. Graafilisi elemente ja nuppe on moderniseeritud, hiireklikkide ja klaviatuuri sĂŒndmuste töötlemist on parandatud.
- C# 12-s on lisatud lihtsustatud sĂŒntaks peamiste konstruktoreid loomiseks igasugustes klassides ja struktuurides, samuti on lihtsustatud massiivide, span'i ja muude kogumite loomine. On pakutud vahendeid vaikevÀÀrtuste mÀÀramiseks lambda-vĂ€ljendite parameetritele. Lihtsustatud on valikuliste argumentide töötlemine. Lisatud on vĂ”imalus luua igasuguste tĂŒĂŒpide alias'eid kĂ€su âaliasâ abil. // Nimekirja loomine List<int> a = [1, 2, 3, 4, 5, 6, 7, 8]; // Span-massiivide loomine Span<char> b = [âaâ, âbâ, âcâ, âdâ, âeâ, âfâ, âhâ, âiâ]; // Kasuta levikuoperaatorit liitmiseks int[] array1 = [1, 2, 3]; int[] array2 = [4, 5, 6]; int[] array3 = [7, 8, 9]; int[] fullArray = [..array1, ..array2, ..array3]; // sisu on [1, 2, 3, 4, 5, 6, 7, 8, 9]
- ASP.NET Core'is on flirtis toeks autentimine Cookie ja tokenite pĂ”hjal ĂŒhekordsete (SPA, single-page application) ja veebi rakenduste (Blazor) jaoks. On pakutud uus kasutajaliides autentimise lĂ€bimiseks. Parandatud on kaitset XSRF/CSRF rĂŒnnakute eest.
- Entity Framework Core'is on saadaval uued keerulised tĂŒĂŒbid, mida saab kasutada objektidena. Lisatud on toetust hierarhilistele andmetele SQL Serveris.
- NuGet'i paketihalduris on lihtsustatud pakettide audit projektides ja tagatud teave tuntud haavatavuste olemasolu kohta.
- .NET Runtime'is on lisatud eelkompileerimise reĆŸiim (AOT) WebAssembly (WASM) ja Androidi platvormidele.
- WPF-is on lisatud kausta avamise dialoog (OpenFolderDialog) ja aktiveeritud on riistvara kiirenduse tugi RDP-s.
- Oluliselt on parendatud ARM64 arhitektuuri toetust ja koodi kvaliteeti ARM-ile.
- Veaparanduses on tagatud kokkukĂ€ivade vigade andmete esitamine ja rakendatud lihtsustatud veaparandamise kihtide jaoks sageli kasutatavaid .NET tĂŒĂŒpe.
Allikas: opennet.ru


