Programmēšana

Izpratne par Microsoft .NET 5

Viena no Microsoft 2020. gada izstrādātāju stratēģijas galvenajām tēmām, iespējams, vislabāk tiek domāta kā pāreja starp paaudzēm. Tas ir samērā vienmērīgs nodošana, kas veidota kā veco un jauno darba veidu apvienošana. Bet galu galā, neatkarīgi no tā, vai tā ir Project Reunion, WinUI 3 vai .NET 5 palaišana, jaunā tehnoloģija virzās uz priekšu, atstājot veco.

Tas nav nekas slikts. Daudzu iemeslu dēļ mēs izstrādājam jaunus veidus, kā rīkoties, taču tie bieži saplūst ap vienu galveno punktu: jaunais veids ir labāks. Tas atrisina problēmas, kuras vecie rīki nevarēja, un atbild uz jauniem jautājumiem, kas netika uzdoti, kad tika definēts sākotnējais risinājums.

Jauns .NET jaunai pasaulei

Visi šie iemesli apvienojas pārejā no .NET Framework uz .NET 5. Pirms divdesmit nepāra gadiem, kad tika definēts sākotnējais .NET Framework, mēs izveidojām monolītas klienta-servera lietojumprogrammas stingri definētās IT vidēs. Tagad mēs veidojam vieglu izplatītu mikropakalpojumu un starpplatformu mobilo lietotņu kombināciju, izmantojot strauji mainīgu infrastruktūru. Neskatoties uz klišeju, tā ir pilnīgi jauna pasaule.

Šim darba veidam bija paredzēts .NET Core; starpplatformu kopš tās dzīves sākuma, un tā ir paredzēta, lai atbalstītu jaunas, vispirms mākoņainas mobilās lietojumprogrammas, kā arī tradicionālos. Ar trim galvenajiem izlaidumiem tā ieguva arvien vairāk API, un, kad .NET Standard bibliotēkas sāka piedāvāt kopēju mērķa kodu, kas atviegloja projektu koplietošanu visā tajā, .NET Framework un Xamarin.

.NET 5: ceļš nākotnes attīstībai

Tehniski šim jaunajam laidienam vajadzētu būt .NET Core 4, taču Microsoft izlaiž versijas numuru, lai izvairītos no sajaukšanas ar pašreizējo .NET Framework laidienu. Tajā pašā laikā, pārejot uz lielāku versijas numuru un pametot Core no nosaukuma, tiek norādīts, ka tas ir nākamais solis visai .NET izstrādei. Divi projekti joprojām saglabā galveno nosaukumu: ASP.NET Core 5.0 un Entity Framework Core 5, jo joprojām pastāv mantoti projekti ar vienādiem versiju numuriem.

Tas ir svarīgs pavērsiens, iezīmējot punktu, kurā jāapsver visu jauno projektu uzsākšana .NET 5 un visu esošo kodu pārvietošana no .NET Framework. Lai gan Microsoft nenoņem atbalstu no .NET Framework, tas ir uzturēšanas režīmā un turpmākajos punktu izlaidumos nesaņems jaunas funkcijas. Visas jaunās API un kopienas izstrāde būs .NET 5 (un 2021. gada ilgtermiņa atbalsts .NET 6).

Dažas pazīstamas tehnoloģijas, piemēram, Web Forms un Windows Communication Foundation, tiek novecojušas .NET 5. Ja jūs tās joprojām izmantojat, vislabāk pagaidām palikt .NET Framework 4 un plānot pāreju uz jaunākām, atbalstītām tehnoloģijām, piemēram, kā ASP.NET's Razor Pages vai gRPC. Ir paredzēts kopienas atbalsts alternatīviem ietvariem, kas piedāvās līdzīgas API, taču darbs ar jaunākām pieejām palīdzēs nākotnē drošam kodam un atvieglos pārrobežu darbu.

Viens nedaudz mulsinošs .NET 5 aspekts ir tas, kā tas darbojas ar .NET Standard bibliotēkām. Viņi nezudīs, lai gan .NET 5 kodam nav nepieciešams tieši atsaukties uz tiem, jo ​​tagad tie ir .NET 5 mērķa ietvarstruktūras (TFM) apakškopa. Šis jaunais TFM aizstāj veco netcoreapp un netstandards TFM, lai gan, ja rakstāt kodu, kas jāsadala kopīgi visos ietvaros, savietojamības nolūkos joprojām varat izmantot .NET Standard 2.0 TFM. Tomēr vairumā gadījumu jūs, iespējams, strādājat tikai .NET 5 vidē, lai jūs varētu droši pieturēties pie neto 5.0 TFM deklarācija.

Darba sākšana ar .NET 5

.NET 5.0 turpina mitināt to pašu pazīstamo valodu kopu, ieskaitot gan C #, gan F # jaunās versijas. Tie pievieno daudzas jaunas funkcijas un tiek iegūti kā daļa no Visual Studio 16.8 vai ar atjaunināto C # Visual Studio koda paplašinājumu. Microsoft ir pārvietojis sistēmu un visas tās ieviešanas iespējas, tāpat kā lielu daļu Mono, vienā GitHub repozitorijā, konsolidējot attīstību un nodrošinot, ka visām versijām ir vienādas pamata funkcijas. Pārejot uz .NET 6, Microsoft ieviesīs citas augstāka līmeņa ieviešanas iespējas, tostarp Xamarin.

Jaunais .NET joprojām ir balstīts uz tieši savlaicīgajām kompilatoru metodēm, kas izstrādātas sākotnējam Common Language Runtime. Jaunais CoreCLR turpina uzlabot veiktspēju, vienlaikus strādājot vairākās procesoru arhitektūrās. Līdz ar Apple M1 ARM balstīto procesoru atnākšanu .NET rakstīts kods MacOS darbosies kā vietējie binārie faili gan Intel, gan ARM balstītā aparatūrā, tāpēc kodam nebūs jāiziet otrais emulācijas slānis. ARM64 atbalsts ļaus .NET 5 lietojumprogrammām darboties Windows operētājsistēmā ARM aparatūrā, izmantojot Microsoft pašu SQ1 un SQ2 procesoru iespējas.

Dažiem scenārijiem, piemēram, Web Assembly un mobilajām operētājsistēmām, ir nepieciešams iepriekš sastādīts kods, un .NET 5 piedāvā savlaicīgu kompilatoru līdzās JIT rīkiem. AOT kompilators tagad ir pieejams jebkurai izstrādes videi, un Uno Platform komanda jau tagad ievērojami palielina tīmekļa asamblejas ātrumu, kas ir 7 līdz 15 reizes lielāks nekā iepriekšējais Web Assembly valodu tulks.

Plānots padarīt AOT kompilatoru pieejamu kā opciju lietotnēm, kurām nepieciešama ātra startēšana un zemākas atmiņas nospiedumi, piemēram, ar ierobežotu resursu viedpulksteņiem un IoT aparatūru. Vēl viena iespēja ir viena faila izvietošana. Viss lietojumprogrammai nepieciešamais (ieskaitot izpildlaiku) ir apvienots vienā paketē, tādējādi atvieglojot .NET lietojumprogrammu izvietošanu konteineros vai sistēmās, kas nav Windows sistēmas.

Jauno .NET nevajadzētu skatīt atsevišķi. Svarīgi ir arī papildu notikumi, kas saistīti ar Web Assembly ar Blazor un starpplatformu lietotāja interfeisa izstrādi ar MAUI (multiplatform app UI). Izmantojot šo tehnoloģiju kombināciju, ar .NET 5 nevar mērķēt ļoti maz, sākot no Raspberry Pi klases aparatūras līdz Android tālruņiem un beidzot ar Kubernetes mitinātiem konteineriem, kas darbojas AWS un Azure.

2021. gadā .NET 6

Viens svarīgs moments ir tas, ka tas ir tikai vēl viens procesa solis. .NET 5 ir galvenā tehnoloģija Windows API atdalīšanai no OS, WinRT un Win32 API apvienošana Project Reunion un pāreja uz WinUI 3 un MAUI kā UI slāņiem. Liela daļa šī darba turpinās, kad 2021. gadā tiek izlaista .NET 6 - daudzu šo projektu mērķis. Lai sāktu migrēšanu, nav jāgaida .NET 6. Jo ātrāk sākat, jo labāk, dodot laiku, lai risinātu visus iespējamos jautājumus.

Jums vajadzētu redzēt .NET 5 kā pirmo soli nākamajā .NET ceļojuma posmā, kurā jums jāsāk ņemt visu šo mantoto kodu un izlemt, kas jāpārnes, veicot pārnešanu un atjaunināšanu, un kas pilnībā jāaizstāj . Kad tuvojas 2020. gads, jūs, iespējams, plānojat savu 2021. gada attīstības grafiku. Paturot to prātā, .NET 5 ir jābūt objektīvam, kas palīdz koncentrēties uz to, kas jādara, lai jūsu programmatūras īpašums būtu gatavs daudz ātrāk virzošai nākotnei, kas vairs nav piesaistīta Windows laidieniem vai vispār Windows.

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