Programavimas

Suprasti „Microsoft .NET 5“

Vieną pagrindinių „Microsoft“ 2020 m. Kūrėjų strategijos temų galbūt geriausia galvoti kaip apie kartų kaitą. Tai gana sklandus perdavimas, suformuotas kaip senų ir naujų darbo būdų suvienijimas. Tačiau galų gale, nesvarbu, ar tai būtų „Project Reunion“, „WinUI 3“, ar „.NET 5“ paleidimas, naujoji technologija žengia į priekį, palikdama senąją.

Tai nėra blogai. Mes kuriame naujus būdus, kaip daryti dalykus dėl daugelio priežasčių, tačiau jie dažnai susilieja dėl vieno pagrindinio taško: naujas būdas yra geresnis. Tai išsprendžia problemas, kurių senos priemonės negalėjo, ir atsakė į naujus klausimus, kurie nebuvo užduodami apibrėžiant pirminį sprendimą.

Naujas .NET naujam pasauliui

Visos šios priežastys susiduria pereinant nuo .NET Framework prie .NET 5. Prieš dvidešimt metų, kai buvo apibrėžta originali .NET Framework, mes sukūrėme monolitines kliento-serverio programas griežtai apibrėžtose IT aplinkose. Dabar kuriame lengvų paskirstytų mikropaslaugų ir įvairių platformų mobiliųjų programų derinį, naudodami greitai besikeičiančią infrastruktūrą. Nepaisant klišės, tai yra visiškai naujas pasaulis.

.NET Core buvo sukurtas šiam darbo būdui; kryžminė platforma nuo pat savo gyvenimo pradžios ir skirta palaikyti naujas, pirmiausia debesies mobilias programas, taip pat tradicinius .NET kūrimo modelius ir praktiką. Per tris pagrindinius leidimus jis surinko vis daugiau API ir kai „.NET Standard“ bibliotekos pradėjo siūlyti bendrą kodo tikslą, palengvinantį dalijimąsi projektais, „.NET Framework“ ir „Xamarin“.

.NET 5: ateities plėtros kelias

Techniškai šis naujas leidimas turėtų būti .NET Core 4, tačiau „Microsoft“ praleidžia versijos numerį, kad būtų išvengta painiavos su dabartiniu „.NET Framework“ leidimu. Tuo pat metu perėjimas prie didesnio versijos numerio ir „Core“ numetimas iš pavadinimo rodo, kad tai yra kitas žingsnis visam .NET kūrimui. Du projektai vis dar išlaiko pagrindinį pavadinimą: ASP.NET Core 5.0 ir Entity Framework Core 5, nes vis dar egzistuoja seni projektai su tais pačiais versijų numeriais.

Tai svarbus etapas, žymintis tašką, kuriame reikia apsvarstyti galimybę pradėti visus naujus .NET 5 projektus ir perkelti bet kokį esamą kodą iš .NET Framework. Nors „Microsoft“ nepašalina palaikymo iš .NET Framework, jis veikia palaikymo režimu ir ateityje negaus jokių naujų funkcijų. Visos naujos API ir bendruomenės plėtra bus .NET 5 (ir 2021 m. Ilgalaikio palaikymo .NET 6).

Kai kurios žinomos technologijos, tokios kaip „Web Forms“ ir „Windows Communication Foundation“, nebenaudojamos .NET 5. Jei vis dar jas naudojate, geriausia kol kas likti „.NET Framework 4“ ir planuoti perėjimą prie naujesnių, palaikomų technologijų, pvz. kaip ASP.NET skustuvų puslapiai arba „gRPC“. Yra planuojama, kad bendruomenė palaikys alternatyvias sistemas, kurios pasiūlys panašias API, tačiau darbas su naujesniais metodais padės ateityje užtikrinti kodą ir palengvins darbą tarp platformų.

Vienas šiek tiek painus .NET 5 aspektas yra tai, kaip jis veikia su .NET Standard bibliotekomis. Jie niekur nedings, nors „.NET 5“ kodui nereikia jų tiesiogiai nurodyti, nes jie dabar yra „.NET 5 target framework moniker“ (TFM) pogrupis. Šis naujas TFM pakeičia senąjį netcoreapp ir net standartinis TFM, nors jei rašote kodą, kurį reikia bendrinti sistemose, vis tiek galite naudoti .NET Standard 2.0 TFM suderinamumo tikslais. Tačiau dažniausiai dirbate tik .NET 5 aplinkoje, kad galėtumėte saugiai laikytis net5.0 TFM deklaracija.

Darbo su .NET 5 pradžia

.NET 5.0 ir toliau talpina tą patį pažįstamą kalbų rinkinį, įskaitant naujas C # ir F # versijas. Tai prideda daug naujų funkcijų ir yra „Visual Studio 16.8“ dalis arba su atnaujintu „C # Visual Studio Code“ plėtiniu. „Microsoft“ perkėlė sistemą ir visus jos diegimo būdus, kaip ir didžiąją dalį „Mono“, į vieną „GitHub“ saugyklą, konsoliduodama kūrimą ir užtikrindama, kad visos versijos turi tas pačias pagrindines funkcijas. Kai „Microsoft“ pereis prie .NET 6, bus įdiegta kitų aukštesnio lygio diegimų, įskaitant „Xamarin“.

Naujasis .NET išlieka pagrįstas „just-in-time“ kompiliatorių metodais, sukurtais pradiniam „Common Language Runtime“. Naujasis „CoreCLR“ ir toliau gerina našumą, dirbdamas keliose procesorių architektūrose. Atėjus „Apple“ procesoriams, naudojantiems M1 ARM, „Mac“ .NET .NET parašytas kodas veiks kaip vietiniai dvejetainiai failai tiek „Intel“, tiek „ARM“ pagrindu veikiančioje aparatinėje įrangoje, todėl kodui nereikės pereiti antrojo emuliacijos sluoksnio. Palaikymas ARM64 leis .NET 5 programoms natūraliai veikti „Windows“ sistemoje naudojant ARM aparatinę įrangą, pasinaudojant „Microsoft“ pačių SQ1 ir SQ2 procesorių funkcijomis.

Kai kuriems scenarijams, pvz., „Web Assembly“ ir mobilioms operacinėms sistemoms, reikia iš anksto sukompiliuoto kodo, o .NET 5 kartu su JIT įrankiais siūlo ir anksčiau sudarytą kompiliatorių. AOT kompiliatorius dabar yra prieinamas bet kuriančiai aplinkai, o „Uno Platform“ komanda jau dabar pastebimai padidina savo žiniatinklio asamblėjos palaikymo greitį 7–15 kartų, palyginti su ankstesniu žiniatinklio asamblėjos vertėju.

Planuojama, kad AOT kompiliatorius bus prieinamas programoms, kurias reikia greitai paleisti ir kurių atminties pėdsakai yra mažesni, pavyzdžiui, naudojant ribotų išteklių išmaniuosius laikrodžius ir IoT aparatūrą. Kita galimybė yra vieno failo diegimas. Viskas, ko reikia programai (įskaitant vykdymo laiką), yra sujungta į vieną paketą, kad būtų lengviau diegti .NET programas konteineriuose ar ne „Windows“ sistemose.

Naujo .NET nereikėtų vertinti atskirai. Taip pat svarbūs papildomi „Web Assembly“ su „Blazor“ ir daugiaplatformio vartotojo sąsajos su „MAUI“ (multiplatform app UI) kūrimas. Naudojant šių technologijų derinį, labai mažai kas gali būti nukreipta naudojant .NET 5, pradedant „Raspberry Pi“ klasės aparatine įranga, baigiant „Android“ telefonais ir baigiant „Kubernetes“ talpinamais konteineriais, veikiančiais AWS ir „Azure“.

2021 m. „.NET 6“

Svarbus dalykas yra tai, kad tai tik dar vienas proceso žingsnis. .NET 5 yra pagrindinė „Windows“ API atskyrimo nuo OS, „Project Reunion“ WinRT ir Win32 API sujungimo technologija ir perėjimas prie „WinUI 3“ ir „MAUI“ kaip vartotojo sąsajos sluoksniai. Didžioji šio darbo dalis tęsiama 2021 m. Išleidus .NET 6 - daugelio šių projektų tikslą. Jei norite pradėti migruoti, nereikia laukti .NET 6. Kuo anksčiau pradėsite, tuo geriau, suteiksite laiko spręsti iškilusias problemas.

Turėtumėte pamatyti „.NET 5“ kaip pirmą žingsnį kitoje „.NET“ kelionės pakopoje, kurioje turėtumėte pradėti imti visą tą seną kodą ir nuspręsti, ką reikia pateikti perkėlus ir atnaujinant, ir ką reikia visiškai pakeisti . Kai baigsis 2020 m., Greičiausiai planuosite savo 2021 m. Plėtros grafiką. Turint tai omenyje, .NET 5 turėtų būti objektyvas, padedantis sutelkti dėmesį į tai, ką reikia padaryti, kad jūsų programinė įranga būtų pasirengusi daug greitesnei ateičiai, kuri nebėra pririšta prie „Windows“ leidimų ar apskritai su „Windows“.

$config[zx-auto] not found$config[zx-overlay] not found