Microsoft publikoi platformën e hapur .NET 9.0

Kompania Microsoft prezantoi lëshimin e platformës së hapur .NET 9, krijuar falë unifikimit të produkteve .NET Framework, .NET Core dhe Mono. Në bazë të .NET 9 mund të krijohen aplikacione multi-platformë për shfletuesin, sistemet cloud, desktopin, pajisjet IoT dhe platformat mobile, duke përdorur biblioteka të njëhershme dhe një proces ndërtimi të përbashkët, pa varësi nga lloji i aplikacionit. Ndërtimet .NET SDK 9, .NET Runtime 9 dhe ASP.NET Core Runtime 9 janë formuar për Linux, macOS dhe Windows. .NET Desktop Runtime 9 ofrohet vetëm për Windows. Materialet e lidhura me projektin shpërndahen nën licencën MIT.

.NET përfshin Runtime me kompilatorin JIT RyuJIT, specifikimet API, bibliotekat WPF, Windows Forms, WinUI dhe Entity Framework, ndërfaqen e komandës dotnet, si dhe mjete për zhvillimin e mikroshërbimeve, bibliotekave, aplikacioneve serverike, grafike dhe konsolë. Ndërsa veçmas ofrohet një stekë për zhvillimin e aplikacioneve web ASP.NET Core 9.0, ORM-në Entity Framework Core 9.0 (me shoferë, përfshirë, për SQLite dhe PostgreSQL), bibliotekën WPF 9 (Windows Presentation Foundation), kornizën Windows Forms 9 për zhvillimin e GUI, platformën Aspire 9 për krijimin e aplikacioneve Cloud Native, kornizën MAUI 9 për zhvillimin e ndërfaqeve të përdoruesit multi-platformë, si dhe lëshimet e gjuhëve C# 13 dhe F# 9. Mbështetje për .NET 9.0 dhe C# 13 është e përfshirë në redaktorin e lirë të kodit Visual Studio Code.

Veçoritë e versionit të ri:

  • JanĂ« bĂ«rĂ« mĂ« shumĂ« se njĂ« mijĂ« ndryshime lidhur me optimizimin e performancĂ«s dhe pĂ«rmirĂ«simin e cilĂ«sisĂ« sĂ« kodit tĂ« gjeneruar. ËshtĂ« modernizuar mbledhĂ«si i mbeturinave, nĂ« tĂ« cilin Ă«shtĂ« implementuar dhe aktivizuar si mĂ«nyrĂ« e defoltit mekanizmi i adaptimit dinamik ndaj madhĂ«sisĂ« sĂ« aplikacionit (mbledhĂ«si i mbeturinave lidhĂ«t jo me disponueshmĂ«rinĂ« e burimeve nĂ« sistem, por me sa memorie kĂ«rkon aplikacioni). NjĂ« mĂ«nyrĂ« e re lejon tĂ« rritet efikasiteti i punĂ«s nĂ« sisteme me numĂ«r tĂ« madh nĂ« bĂ«rthamash procesori, nĂ«se aplikacioni pĂ«rdor relativisht pak memorie ose nĂ«se kĂ«rkesa pĂ«r memorie ndryshon ndjeshĂ«m gjatĂ« funksionimit.

    NĂ« JIT-kompilator janĂ« shtuar optimizime tĂ« reja tĂ« bazuara nĂ« profilizimin (PGO), pĂ«rmirĂ«simi i trajtimit tĂ« cikleve, zhvillimi i inline dhe verifikimi i kufijve. NĂ« runtime .NET Ă«shtĂ« zgjeruar pĂ«rdorimi i instruksioneve vektoriale dhe Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r zgjerimet Arm64 SVE dhe Intel AVX10. Kodi pĂ«r trajtimin e pĂ«rjashtimeve Ă«shtĂ« усĐșĐŸŃ€Đ”Đœ me 50%. PĂ«r kodin me operacione tĂ« konvertimit tĂ« tipave, si «(IFoo)myFoo» dhe «myFoo is IFoo», Ă«shtĂ« evidentuar njĂ« rritje e performancĂ«s deri nĂ« 70%. Performanca e disa metodave nĂ« gjuhĂ«n e pĂ«rpunimit tĂ« pyetjeve LINQ (Language-Integrated Query), si Take dhe DefaultIfEmpty, Ă«shtĂ« rritur deri nĂ« 10 herĂ« kur punojnĂ« me matrizĂ« dhe koleksione tĂ« zbrazĂ«ta.

    Janë rritur ndjeshëm performanca dhe efikasiteti i metodës System.Text.Json. Në metodën JsonProperty.WriteTo është realizuar mundësia e shkarkimit të drejtpërdrejtë të strings UTF8, duke përjashtuar ndarjen e tepërt të memories. Janë optimizuar operacionet e ndryshimit të madhësisë së JsonObject. Në testet e TechEmpower, që vlerësojnë efikasitetin e kodit për përpunimin e kërkesave JSON, krahasuar me .NET 8, është evidentuar një rritje e performancës me 15% dhe një ulje e konsumit të memories me 93%.

  • NĂ« Runtime Ă«shtĂ« propozuar njĂ« model i ri atributesh pĂ«r aktivizimin dhe reduktimin e funksionaliteteve nĂ« bibliotekat.
  • NĂ« gjuhĂ«n C# 13 janĂ« zgjeruar mundĂ«sitĂ« e pĂ«rdorimit tĂ« modifikatorit «params», ku pĂ«rveç matrizave Ă«shtĂ« lejuar specifikimi i koleksioneve. GjatĂ« inicializimit tĂ« matrizave nĂ« vlerĂ«n e indeksit, Ă«shtĂ« lejuar pĂ«rdorimi i operatorit «^» pĂ«r tĂ« raportuar indeksin nga fundi i matrizĂ«s (p.sh., «buffer = { [^1] = 0, [^2] = 1,
}» do tĂ« regjistrojĂ« 0 nĂ« elementin e fundit dhe 1 nĂ« atĂ« para fundit). NĂ« iteratorĂ« dhe metoda async Ă«shtĂ« lejuar pĂ«rdorimi i shprehjeve ref dhe unsafe. ËshtĂ« shtuar njĂ« sekuencĂ« e re escape «\e». ËshtĂ« lejuar pĂ«rcaktimi i interfazave pĂ«r tipet «ref struct» dhe pĂ«rdorimi i tipave «ref struct» si argumente nĂ« funksionet e gjenerizuara. ËshtĂ« propozuar njĂ« tip i ri Lock pĂ«r vendosjen e bllokimeve nĂ« aplikacionet shumĂ«frymor. Lock myLock = new(); void Concat(params List items) { lock (myLock) Console.WriteLine(string.Join(«\e[1mItem: \e[0m», items)); }
  • Gjuha F# 9 ka mbĂ«shtetje pĂ«r tipe qĂ« mund tĂ« marrin vlerĂ«n null. NĂ« bashkimeve janĂ« implementuar automatikisht pronat e gjeneruara si «.Is*» (pĂ«r shembull, person.contact.IsEmail), tĂ« cilat mund tĂ« pĂ«rdoren pĂ«r tĂ« kontrolluar pĂ«rfshirjen e njĂ« vlerĂ« nĂ« shumĂ«. ËshtĂ« shtuar mbĂ«shtetje pĂ«r shprehjet e lira tĂ« llogaritjes («let xs = seq { }»). NĂ« direktivat qĂ« fillojnĂ« me simbolin «#», lejohet specifikimi i vlefshmĂ«rive jostring (pĂ«r shembull, mund tĂ« shkruani #nowarn 0070 nĂ« vend tĂ« #nowarn «0070»). NĂ« modulet List, Array dhe Seq janĂ« shtuar funksione pĂ«r zgjedhjen rasteve ose pĂ«rzierjen e elementeve. Operacionet me koleksione janĂ« lejuar pĂ«r listat (list dhe set).
  • Kapacitetet e stack-ut .NET Aspire janĂ« zgjeruar, duke ofruar njĂ« grup komponentĂ«sh pĂ«r krijimin e aplikacioneve qĂ« ekzekutohen nĂ« ambientet cloud. JanĂ« shtuar mundĂ«si tĂ« reja pĂ«r menaxhimin e burimeve dhe ciklit tĂ« jetĂ«s sĂ« aplikacioneve. JanĂ« zgjeruar mjete pĂ«r mbledhjen e telemetrisĂ«.
  • NjĂ« grup i ri abstraksionesh C# pĂ«r zhvillimin e aplikacioneve AI Ă«shtĂ« propozuar, duke pĂ«rdorur modele tĂ« mĂ«dha gjuhĂ«sore, duke aksesuar depo vektoriale dhe duke u ndĂ«rvepruar me shĂ«rbimet AI. ËshtĂ« paraqitur njĂ« tip i ri «Tensor» dhe njĂ« koleksion metodash pĂ«r llogaritjet dhe manipulimin e tĂ« dhĂ«nave me pĂ«rmasa tĂ« mĂ«dha. Shtesat pĂ«r AI shpĂ«rndahen nĂ« formĂ«n e paketave System.Numerics.Tensors, Microsoft.Extensions.AI dhe Microsoft.Extensions.VectorData. ËshtĂ« azhurnuar korniza ML.NET, e cila Ă«shtĂ« e destinuar pĂ«r integrimin e modeleve tĂ« mĂ«simit automat nĂ« aplikacione. ËshtĂ« shtuar biblioteka Microsoft.ML.Tokenizers pĂ«r kodimin dhe dekodimin e teksteve nĂ« tokene.
  • NĂ« stack-un pĂ«r zhvillimin e aplikacioneve web ASP.NET Core Ă«shtĂ« zgjeruar mbĂ«shtetja pĂ«r kompilimin e parashikuar (ahead-of-time), janĂ« zgjeruar mundĂ«sitĂ« e monitorimit dhe gjurmimit, Ă«shtĂ« reduktuar koha e nisjes dhe Ă«shtĂ« ulur konsumimi i memories, Ă«shtĂ« optimizuar puna me skedarĂ«t statikĂ«. ËshtĂ« shtuar njĂ« API i ri pĂ«r autentifikimin dhe autorizimin. NĂ« Blazor, platforma pĂ«r krijimin e aplikacioneve web nĂ« gjuhĂ«n C#, janĂ« implementuar shabllone tĂ« reja pĂ«r aplikacione hibrid dhe web.
  • Kapacitetet e kornizĂ«s MAUI pĂ«r zhvillimin e ndĂ«rfaqeve tĂ« pĂ«rdoruesit mult-platform janĂ« zgjeruar. ËshtĂ« realizuar optimizimi i performancĂ«s. ËshtĂ« forcuar integrimi me aplikacionet desktop dhe mobile. JanĂ« shtuar elemente tĂ« rinj tĂ« ndĂ«rfaqes TitleBar dhe HybridWebView.
  • NĂ« WPF (Windows Presentation Foundation) Ă«shtĂ« zgjeruar mbĂ«shtetje pĂ«r temat e dizajnit dhe Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r ngjyrat akcentuese.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster