Microsoft har publicerat den öppna plattformen .NET 9.0

Microsoft har presenterat en ny version av den öppna plattformen .NET 9, skapad genom en enhetlig sammanslagning av produkterna .NET Framework, .NET Core och Mono. Med .NET 9 kan man skapa plattformsoberoende applikationer för webblÀsare, molnsystem, skrivbord, IoT-enheter och mobilplattformar, med hjÀlp av en gemensam uppsÀttning bibliotek och en enhetlig byggprocess oavsett applikationstyp. .NET SDK 9, .NET Runtime 9 och ASP.NET Core Runtime 9 Àr tillgÀngliga för Linux, macOS och Windows. .NET Desktop Runtime 9 erbjuds endast för Windows. Relaterade projektresultat sprids under MIT-licensen.

.NET innehÄller ett Runtime med JIT-kompilatorn RyuJIT, API-specifikationer, bibliotek för WPF, Windows Forms, WinUI och Entity Framework, kommandoradsgrÀnssnittet dotnet, samt verktyg för utveckling av mikrotjÀnster, bibliotek, server-, grafik- och konsolapplikationer. Separat erbjuds en utvecklingsstack för web-applikationer ASP.NET Core 9.0, ORM-lagret Entity Framework Core 9.0 (drivrutiner finns Àven för SQLite och PostgreSQL), WPF 9-biblioteket (Windows Presentation Foundation), Windows Forms 9-ramverket för GUI-utveckling, Aspire 9-plattformen för skapande av Cloud Native-applikationer, MAUI 9-ramverket för utveckling av plattformsoberoende anvÀndargrÀnssnitt, samt utgÄvorna av sprÄken C# 13 och F# 9. Stödet för .NET 9.0 och C# 13 ingÄr i den kostnadsfria kodeditorn Visual Studio Code.

Nyhetsfunktioner:

  • Över tusen Ă€ndringar har gjorts för att optimera prestanda och förbĂ€ttra kvaliteten pĂ„ den genererade koden. SoptjĂ€ningare har uppgraderats, och en mekanism för dynamisk anpassning till applikationens storlek har implementerats och aktiverats som standard (soptjĂ€ningaren kopplar inte till mĂ€ngden tillgĂ€ngliga resurser i systemet, utan till hur mycket minne applikationen krĂ€ver). Det nya lĂ€get möjliggör ökad effektivitet pĂ„ system med mĂ„nga processorkĂ€rnor, om applikationen anvĂ€nder relativt lite minne eller om minnesbehovet förĂ€ndras avsevĂ€rt under drift.

    JIT-kompilatorn har fÄtt nya optimeringar baserade pÄ profilering (PGO), med förbÀttrad hantering av loopar, inline-utveckling och grÀnskontroller. I .NET-runtime har anvÀndningen av vektoriska instruktioner utökats och stöd för Arm64 SVE och Intel AVX10 har lagts till. Koden för hantering av undantag Àr nu 50% snabbare. För kod med typkonverteringsoperationer, som «(IFoo)myFoo» och «myFoo is IFoo», har prestationsökningen nÄtt upp till 70%. Prestandan för vissa metoder i sprÄk för hantering av frÄgestÀllningar LINQ (Language-Integrated Query), som Take och DefaultIfEmpty, har ökat upp till 10 gÄnger nÀr det gÀller tomma arrayer och samlingar.

    Prestandan och effektiviteten i metoden System.Text.Json har ökats avsevÀrt. I metoden JsonProperty.WriteTo har direkt skrivning av UTF8-strÀngar möjliggjorts, vilket eliminerar onödig minnesallokering. Operationerna för att Àndra storlek pÄ JsonObject har optimerats. Vid tester av TechEmpower, som utvÀrderar kodens effektivitet för att hantera JSON-förfrÄgningar, har prestandan ökat med 15% och minnesanvÀndningen minskat med 93% jÀmfört med .NET 8.

  • I Runtime föreslĂ„s en ny attributmodell för aktivering och nedskĂ€rning av funktionalitet i bibliotek.
  • I C# 13 har möjligheterna med modifikatorn «params» utvidgats, sĂ„ att förutom arrayer Ă€ven samlingar kan anges. Vid initialisering av arrayer tillĂ„ts anvĂ€ndningen av operatorn «^» för indexering frĂ„n slutet av arrayen (till exempel «buffer = { [^1] = 0, [^2] = 1,
.}» skriver 0 i det sista elementet och 1 i det nĂ€st sista). I iteratorer och async-metoder tillĂ„ts anvĂ€ndning av ref-uttryck och osĂ€kra operationer. En ny escape-sekvens «\e» har lagts till. Definition av grĂ€nssnitt för «ref struct»-typer och anvĂ€ndning av «ref struct»-typer som argument i generiska funktioner har tillĂ„tits. En ny typ Lock har föreslagits för att sĂ€tta lĂ„s i flertrĂ„dade applikationer. Lock myLock = new(); void Concat<T>(params List<T> items) { lock (myLock) Console.WriteLine(string.Join(«\e[1mItem: \e[0m», items)); }
  • I F# 9 har stöd för typer som kan anta vĂ€rdet null. I unionerna finns automatiskt genererade egenskaper "Is*" (till exempel person.contact.IsEmail) som kan anvĂ€ndas för att kontrollera medlemskap av vĂ€rdet i en mĂ€ngd. Stöd för tomma berĂ€knade uttryck ("let xs = seq { }") har lagts till. I direktiv som börjar med tecknet "#" Ă€r det tillĂ„tet att ange icke-strĂ€ngvĂ€rden (till exempel kan man skriva #nowarn 0070 istĂ€llet för #nowarn "0070"). I modulerna List, Array och Seq har funktioner lagts till för att slumpmĂ€ssigt vĂ€lja eller blanda element. Operationer med samlingar Ă€r tillĂ„tna för listor (list och set).
  • Funktionerna i .NET Aspire-stacken, som tillhandahĂ„ller en uppsĂ€ttning komponenter för att skapa applikationer som körs i molnmiljöer, har utvidgats. Nya funktioner för resurs- och applikationslivscykelhantering har tillkommit. Verktygen för att samla in telemetry har förbĂ€ttrats.
  • Ett nytt set av abstraktioner för C# har föreslagits för utveckling av AI-applikationer, anvĂ€ndning av stora sprĂ„kliga modeller, Ă„tkomst till vektorlagring och interaktion med AI-tjĂ€nster. En ny typ "Tensor" har introducerats, samt en samling metoder för berĂ€kningar och manipuleror av flerdimensionella data. AI-tillĂ€gg distribueras i form av paketen System.Numerics.Tensors, Microsoft.Extensions.AI och Microsoft.Extensions.VectorData. Ramverket ML.NET har uppdaterats för att integrera maskininlĂ€rningsmodeller i applikationer. Biblioteket Microsoft.ML.Tokenizers har lagts till för kodning och avkodning av text till tokens.
  • Stödet för förkompilering (ahead-of-time) har utvidgats i ASP.NET Core-stacken för webbutveckling, och övervaknings- och spĂ„rningsmöjligheterna har förbĂ€ttrats. Tiden för uppstart har minskat och minnesanvĂ€ndningen har sĂ€nkts, samtidigt som hanteringen av statiska filer har optimerats. Ett nytt API för autentisering och auktorisering har lagts till. I Blazor, plattformen för att skapa webbapplikationer pĂ„ C#, har nya mallar för hybrid- och webbapplikationer implementerats.
  • Funktionerna i MAUI-ramverket för utveckling av plattformsoberoende anvĂ€ndargrĂ€nssnitt har utvidgats. Prestandan har optimerats. Integrationen med desktop- och mobilapplikationer har förstĂ€rkts. Nya grĂ€nssnittselement TitleBar och HybridWebView har lagts till.
  • I WPF (Windows Presentation Foundation) har stöden för teman utökats och stöd för accentfĂ€rger har lagts till.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster