Microsoft avaldas avatud platvormi .NET 7

Microsoft esitles olulise avatud platvormi .NET 7, mis on loodud .NET Frameworki, .NET Core'i ja Mono ühtlustamise kaudu. .NET 7 annab võimaluse luua mitme platvormiga rakendusi brauserite, pilvesüsteemide, laua-, IoT-seadmete ja mobiiliplatvormide jaoks, kasutades ühtseid teeke ja ühiseid koostamisprotsesse, mis ei sõltu rakenduse tüübist. .NET SDK 7, .NET Runtime 7 ja ASP.NET Core Runtime 7 koostamisega on loodud toetamiseks Linuxile, macOS-ile ja Windowsile. .NET Desktop Runtime 6 on saadaval ainult Windowsile. Seotud projekti töötlemise tulemus on litsentseeritud MIT all. .NET 7 versiooni hooldust teostatakse 18 kuud kuni 14. maid 2024.

.NET 7 hõlmab CoreCLR runtime'i koos RyuJIT JIT-kompilaatoriga, standardteeke, CoreFX teeke, WPF-i, Windows Formsi, WinUI, Entity Framework'i, käsurealiidese dotnet ning tööriistu mikroteenuste, teekide, serverite, graafiliste ja konsoolrakenduste arendamiseks. Eraldi on avaldatud ASP.NET Core 7.0 veebirakenduste arendamise komplekt, ORM-teek Entity Framework Core 7.0 (sealhulgas draiverid SQLite ja PostgreSQL jaoks), WPF 7 (Windows Presentation Foundation) teek, Windows Formsi 7 raamistiku, Cloud Native rakenduste arendamise platvorm Orleans 7, MAUI 7 raamistiku mitme platvormi kasutajaliideste arendamiseks ning C# 11 ja F# 7 keelte väljaanded. .NET 7.0 ja C# 11 tugi on sisseehitatud tasuta koodiredaktorisse Visual Studio Code.

Uue väljaande omadused:

  • Alusklasside teegi (BCL, Base Class Library) ühtlustamine on toimunud, et võimaldada selle kasutamist erinevatel rakendustüüpidel, sealhulgas lauaarvutiprogrammid, veebirakendused, pilveplatvormid, mobiilirakendused, mängud, sisse ehitatud programmid ja masinõppesüsteemid. Erinevate rakendustüüpide arendamiseks võib kasutada ühte ja ainsat SDK-d, runtime'i ja teegikomplekti.
  • Rakenduse sidumine .NET 7 väljaandele vastava API-ga on tehtud võimalikuks, määrates sihtplatvormiks "net7.0", näiteks "net7.0". Platvormispetsiifiliste API-de sidumisel on võimalik sihiks määrata platvormitüü, näiteks "net7.0-android".
  • Tundu on oluliselt paranenud ARM64 arhitektuuri tugi ja jätkuvad jõupingutused jõudluse tasakaalu saavutamiseks .NET rakenduste täitmisel x86 ja ARM64 arhitektuuridel. Runtime'is on tõusnud kolmanda taseme vahemälu efektiivsus ARM64 süsteemides. LSE käskude abil on saavutatud mälu juurdepääsu piiramine paralleelsetest lõimedest, vähendades viivitusi 45%. Raamatukogusse on lisatud töötlejad, mis kasutavad vektortüüpe Vector64, Vector128 ja Vector256, samuti on vektorkäskude alusel ümber kirjutatud funktsioonid EncodeToUtf8 ja DecodeFromUtf8, mis on suurendanud nende jõudlust kuni 60% (NarrowUtf16ToAscii ja GetIndexOfFirstNonAsciiChar funktsioonide puhul ulatub jõudluse tõus 35% tuhandeni). Üldiselt on ARM64 platvormil testide läbitavuse kiirus kasvanud 10-60%.
    Microsoft avaldas avatud platvormi .NET 7
  • Linuxi platvormi tugi on paranenud, sealhulgas on Ubuntu 22.04 tavarepositoore lisatud .NET 6 paketid ning on antud välja optimeeritud, kompaktsed ja kasutamiseks valmis docker-pildid .NET rakenduste konteinerite kiireks rakendamiseks.
  • 64-bitise IBM Power (ppc64le) arhitektuuri tugi on lisatud.
  • .NET Upgrade Assistant tööriist on pakutud, et lihtsustada vanade rakenduste üleviimist .NET 6 või .NET 7 harudesse. Uues versioonis on laiendatud ASP.NET rakenduste migreerimise tuge ASP.NET Core'i, lisatud koodi analüsaatorid ja parandajad WinFormsi, WPF-i ja klasside raamatukogude jaoks, samuti on rakendatud käivitatavate failide analüüsi tugi ja UWP (Universal Windows Platform) toena.
  • Kohandatud on pilvesüsteemide (cloud-native) ja PaaS (teenusena platvorm) rakenduste loomise võimalusi. On antud võimalus luua rakendusi, mis on pakitud isoleeritud konteineritesse, kasutades käsku «dotnet publish».
  • Rakenduste oleku jälgimise ja nende tööga seotud meetrikate kogumise vahendid on laiendatud. On lisatud uusi sündmusi ja meetodeid rakenduste aktiivsuse ja jõudluse analüüsimiseks.
  • C# 11 keeles on lisatud toetus töötlemata stringi literatuuridele, mis võivad sisaldada erimarke ilma, et neid peaks eraldama (sellised literatuurid on esile tõstetud kolme jutumärgiga). Pakutud on üldised liidesed matemaatiliste funktsioonide jaoks ning antud on võimalus määrata staatilisi elemente virtuaalsetes liidestes, mis on võimaldanud rakendada üldise programmeerimise meetodeid matemaatiliste toimingute teostamiseks ilma täpsete tüüpide informatsioonita.
  • Standardbibliotek on laiendatud. Lisatud on API System.Formats.Tar, et töötada Tar-formaadis arhiividega. Aja funktsioonide (TimeStamp, DateTime jne) puhul on lisatud mikroseundite ja nanoseundite tugi. System.Text.Jsonis on rakendatud võimalus hallata .NET-i tüüpide seerimist ja deseerimist.
  • Käskude rea liideses „dotnet new“ on lisatud tugi malli tüübi projektide automaatsele täitmisele, kui vajutada klahvi Tab.
  • .NET SDK-s on rakendatud võimalus piirata tarnitavate projektimallide rakendamist, näiteks on võimalik määrata, millistes operatsioonisüsteemides on mall lubatud.
  • NuGetisse on lisatud tsentraliseeritud paketihalduse režiim, mis võimaldab hallata sõltuvusi korraga mitme projekti jaoks.
  • JIT-kompilaatori jõudlust on parandatud. Lisatud on OSR (On Stack Replacement) mehhanismi tugi, et muuta juba töötavaid meetodeid, mis võimaldab optimeerimist aeglaselt töötavates meetodites, ootamata praeguse ülesande lõpetamist (TechEmpower testi järgi on täheldatud esialgsete päringute töötlemise efektiivsuse tõusu 10–30%).
  • Koodi profiliseerimise tulemuste (PGO — Profile-guided optimization) põhjal on optimeerimise efektiivsust tõhustatud, võimaldades arvesse võtta jooniseid, mis määratakse programmide käitamise ajal.
  • Lisatud on tugi iseseisva täidetava faili kokku kompileerimiseks (Native AOT), kus kogu projekt on algselt kompileeritud sihtplatvormi masinkoodi ilma vahendkoodita ja ilma JIT-i rakendamata.

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster