Kun .NET 7 vi povas konstrui plurplatformajn aplikojn tra retumilo, nubo, labortablo, IoT-aparatoj kaj moveblaj platformoj
Microsoft anoncis la liberigon de la nova versio de via platformo ".NET 7" kiu inkluzivas Runtime kun la RyuJIT JIT-kompililo, API-specifojn, WPF-bibliotekojn kaj aliajn ilojn.
Krome, ASP.NET Core 7.0 TTT-aplikoj, Entity Framework Core 7.0 ORM tavolo, WPF 7 (Windows Presentation Foundation) biblioteko, Windows Forms 7 kadro por GUI-disvolviĝo, Orleans-platformo.
Kio estas nova en .NET 7
En ĉi tiu nova versio la bazklasa biblioteko (BCL, Base Class Library) estis unuigita por uzo en diversaj specoj de aplikoj, inkluzive de programoj por labortablaj sistemoj, TTT-aplikoj, nubaj platformoj, moveblaj aplikoj, ludoj, enigitaj programoj kaj maŝinlernado-sistemoj. Vi povas uzi komunan SDK, rultempon kaj aron de bibliotekoj por disvolvi malsamajn specojn de aplikoj.
Krom ĉi tio, estas ankaŭ emfazita ke provizis la kapablon ligi aplikaĵon al .NET 7 versio kongrua API per "net7.0" celkadra difino, kiel " reto7.0 ». Por ligi al platform-specifaj API-oj, vi povas specifi la platforman tipon dum specifado de la celo, ekzemple specifante "net7.0-android".
Tambien elstarigas plibonigitan subtenon por ARM64-arkitekturo kaj daŭra laboro por atingi egalecon en efikeco por .NET-aplikoj dum funkciado sur kaj x86 kaj ARM64 arkitekturoj. Plibonigita L3-kaŝmemorefikeco ĉe rultempo sur ARM64-sistemoj. LSE-instrukciaĵo kutimas bari paralelan fadenan memoraliron, rezultigante 45%-redukton en latenteco.
La biblioteko aldonis ŝoforojn kiuj uzas la Vector64, Vector128, kaj Vector256 vektortipojn, kaj la funkcioj EncodeToUtf8 kaj DecodeFromUtf8 estis reverkitaj surbaze de vektoraj instrukcioj, kiuj pliigis sian efikecon je ĝis 60% (por la funkcioj NarrowUtf16ToAscii kaj GetIndexOfFirstNonAsciiChar, la rendimentogajno atingas 35%).. Ĝenerale, testpasaj rapidoj sur la platformo ARM64 pliiĝis je 10-60%.
Aliflanke ankaŭ Linukso-subtenaj plibonigoj estas emfazitaj, inkluzive de aldono de pakaĵoj kun .NET 6 al la provizaj deponejoj de Ubuntu 22.04 kaj la provizo de optimumigita, kompakta, neelprena docker bildo por rapide deploji ujojn kun .NET-bazitaj aplikoj.
Enkondukis .NET Upgrade Assistant por faciligi migri pli malnovajn aplikojn al branĉoj .NET 6 aŭ .NET 7. La nova versio etendis subtenon por portado de ASP.NET-aplikoj al ASP.NET Core, aldonante kod-analizantojn kaj kontrolilojn por WinForms, WPF kaj klasbibliotekojn, efektivigis subtenon por dosiero-analizaj ruligeblaj, aldonis subtenon por UWP. (Universala Vindoza Platformo).
Ĝeneralaj interfacoj por matematikaj funkcioj estas proponitaj kaj la ebleco de difinado de senmovaj elementoj en virtualaj interfacoj estas disponigita, kio permesis apliki senmarkajn programajn metodojn por plenumi matematikajn operaciojn sen precizaj informoj pri la speco de valoroj.
Efikeco en la JIT-kompililo ankaŭ estis plibonigita, Krom esti aldonita subteno por la OSR-mekanismo (On Stack Replacement) por ŝanĝi la kodon de metodoj, kiuj jam efektiviĝas, permesante al vi plenumi optimumigojn pri metodoj, kiuj bezonas longan tempon por kompletigi sen atendi ke la nuna alvoko finiĝos (en la testo TechEmpower, estas 10-30). % pliiĝo en la agado de prilaborado de la unuaj petoj je 10-30%).
De la aliaj ŝanĝoj kiuj elstaras:
- Aldonita subteno por kompilado al memstaraj ruligeblaj (denaska AOT), kie la tuta projekto estas komence kompilita al indiĝena celplatformkodo sen uzado de meza kodo kaj sen uzado de JIT.
- La .NET SDK efektivigas la kapablon limigi la uzon de provizitaj projektŝablonoj; ekzemple, vi povas determini sur kiuj operaciumoj la ŝablono estas valida.
- NuGet aldonis centralizitan pakaĵadministradon, kiu ebligas al vi administri dependecojn por pluraj projektoj samtempe.
Fine se vi interesiĝas scii pli pri ĝi, vi povas kontroli la detalojn En la sekva ligilo.
Por tiuj, kiuj interesiĝas, vi devas scii, ke konstruoj de la .NET SDK 7, .NET Runtime 7 kaj ASP.NET Core Runtime 7 estas konstruitaj por Linukso, macOS kaj Vindozo. .NET Desktop Runtime 6 disponeblas nur por Vindozo.