Uptime’i arhitekt uuest .NETi versioonist: “Ei ole paremat aega olla .NET platvormi arendaja”

Microsoft tõi selle nädala alguses ametlikult välja .NET 6, C# 10 ja ASP.NET Core’i uue versiooni. .NET 6 näol on tegu on Long-Term Support (LTS) versiooniga, mis tähendab, et Microsoft plaanib sellele tuge ja täiendusi pakkuda järgmise kolme aasta jooksul.

.NET 6 pakub laia valikuid erinevaid uuendusi ja täiendusi, nende seas tuge Arm64 arhitektuurile nii Macidel kui Windowsil, sammu edasi ökosüsteemi ühtlustamise poole ja hulgaliselt teisi suuremaid ja väiksemaid täiendusi ja parandusi.

Uptime’i .NET arhitekt ja arendaja Tanel Hiob märkis, et kui .NET 5 keskendus olemasolevast koodibaasist viimase võtmisele, siis versioon 6 vaatab tuleviku poole ning uue .NETi versiooni kõige alahinnatumaks uuenduseks on System.Text.Json Source Generators, mis kiirendab kordades veebiteenuste puhul JSONi töötlemist. “Suuremate uuendustena tasuks ka ära mainida uued LINQ-meetodid ja Blazori Hot Reload võimekuse,” sõnas ta.

“Modernsed veebirakendused tegelevad suure osa ajast JSONi lugemise ja kirjutamisega, mis on kõik sisimas reflection selle kaardistamisega klassideks. Kui sõnumi tüüp on ette teada, lubab System.Text.Json suurema osa tööd kompileerimise hetkel ära teha,” märkis arhitekt. “Väiksemate rakenduste puhul, mis peaaegu millegi muuga ei tegelegi, võib tänu sellele ennustada suuri edusamme jõudluse vaatest.”  

Teise suurema ja huvitavama quality-of-life muudatusena tõi Hiob esile uued LINQ-meetodid. “Kui mitu korda oled sa pidanud projekti DistinctBy, MaxBy, MinBy või Chunk Extension meetodi kirjutama? Enam mitte, sest need ja paljud teised on nüüd osa .NET platvormist,” selgitas ta.

Kolmanda oodatud uuenduse toob ASP.NET Core 6. “Blazori platvorm on nüüd production-ready – viimane puuduv lüli oli veel hot-reload, ilma milleta venisid kujunduse iteratsioonid liialt pikaks, kuid see mure on nüüd lahendatud,” märkis arhitekt. “Loomulikult sai Blazor muud toredat nänni veel.”

Üksikud valukohad

Kuigi .NETi uus versioon pakub palju head, on Hiobi sõnul mõnes kohas võimalik olla ka kriitiline. Ühe suurima valukohana toob ta esile selle, et näiteks lihtne ASP.NET rakendust ei taha enam peaaegu üldse setup-koodi. “Tundub, et toome musta maagia tagasi sinna, kust .NET Core 3.1 selle kunagi ära viis,” märkis ta. “Minu isiklik soovitus oleks jätkata eelneva stiiliga, kus ühe klassi ülesanne oli rakendus käivitada ja teise oma rakendus seadistada. Niimoodi on kergem näiteks integratsiooniteste kirjutada, mis sisendiks startup-faili tahavad,” selgitas ta.

Hiob märkis, et ta tunneb mõnevõrra muret ka uue C# 10 funktsionaalse programmeerimise võimaluste üle. “Meil on palju uut süntaksit võimaldamaks näiteks non-nullable tüüpe või recordeid, aga need tunduvad mõneti poolikud või ei sobi olemasolevate C# rakenduste arhitektuuriga,” sõnas ta ja tõi näiteks, et kõik MVC või MVVM mudelid on algväärtustatud nulliga, aga head Option tüüpi C# sisse ehitatud ei ole.

“Samamoodi, uued pattern matching valikuid võimaldavad paljut, aga exhaustive pattern matching veateated on seejuures puudu. Õnneks nägi koos uue .NETiga ilmavalgust ka F# versioon 6, mis saab jõudu kõigist .NETi uuendustest ja mille puhul ei saa neist puudujääkidest rääkida,” sõnas arhitekt.

Siiski, hoolimata mõningatest viperustest ja küsitavatest lahendustest, kaalub positiivne negatiivse tugevalt üle. “Ei ole paremat aega olla .NET platvormi arendaja,” ütles ta.

.NET on end Uptime’i klientide jaoks õigustanud

Uptime’i tehnoloogiajuht Raimo Seero märkis, et .NET on tugevalt arenemas, mis näitab selgelt seda, kui elujõulise tehnoloogiaga tegu on. Microsofti tugi nii uute täienduste kui ka Azure’i platvormi arendamise näol teeb .NETist hea valiku kõikidele ettevõtetele, kes plaanivad juurutada midagi uut. “Uptime’is on tugev .NETi entusiastide kogukond, mis tagab, et kompetentsi hoitakse alati kõrgel ning muudatustele ollakse avatud,” sõnas ta.

Ta märkis, et aastate jooksul on .NETi erinevad versioonid olnud sadade Uptime’i loodud tarkvaralahenduste osaks, olgu tegu iseteenindusrakenduste, logistikaplatvormide, tööhaldussüsteemide, või kümnete muud tüüpi rakendustega. “.NET on alati olnud tugev platvorm ja tundub, et versioon kuus muudab seda veelgi tugevamaks,” ütles ta.

.NET 6 kohta saab põhjalikumalt lugeda siit, ASP.NET Core 6 kohta siit, EF Core 6 kohta siit. Allalaadimislingid leiab siit.

Sooviksid meiega liituda?

Kas Uptime kõlab nagu sinu sorti ettevõte? Kui nii, siis heida pilk vabadele töökohtadele ning loodame, et võtad meiega ühendust – räägime sinuga hea meelega!

Liitu uudiskirjaga