Programmēšana

Izpratne par .NET MAUI un Xamarin nākotni

2000. gadā Microsoft profesionālo izstrādātāju konference bija par .NET skatuves izveidi, iepazīstinot ar daudzām tehnoloģijām, kuras esam izmantojuši pēdējās divās desmitgadēs. Pēc divdesmit gadiem ir godīgi teikt, ka Microsoft ir nospiedusi atiestatīšanas pogu .NET un tā daudzo izstrādātāju ietvaru izplešanās laikā. Programmā Build 2020 uzņēmums, pamatojoties uz paziņojumu par projektu apvienošanos, izstrādāja savu ceļvedi nākamajiem divdesmit gadiem.

Nākotne ir viena .NET

Ir iespējams atskatīties apmēram uz sešiem gadiem, lai redzētu .NET atklātās ieguves un .NET Foundation izveides šodienas saknes. Platformai bija nepieciešama neatkarīga struktūra, lai to ganītu, pārejot no vecās .NET Framework uz jaunu, bez mantojuma, modulāru .NET Core. Šajā pārejā bija jāiekļauj vairāk nekā Windows; tai bija jāņem līdzi Xamarin mobilie klienti un Unity 3-D spēļu platformas, kā arī jācenšas paplašināt .NET sasniedzamību uz MacOS un Linux.

Tas noved mūs pie 2020. gada un gaidāmās pārejas no novecojošās .NET Framework 4 uz jaunu .NET 5, nākamo lielo .NET Core laidienu ar lielāko daļu pazīstamo .NET Framework API un nosaukumvietas. Šajā pārveidojumā sāksies lielas izmaiņas Microsoft mobilajos un starpplatformālajos Xamarin izstrādes rīkos, jo Microsoft novirzīs inženierijas centienus no Xamarin's Mono uz .NET 5.

Mono un .NET apvienošana .NET 6

Viena lieta ir skaidra: Microsoft neizmet gan savus, gan jūsu ieguldījumus Xamarin. Mono vēl nekur nedosies. No Mono ir atkarīgs daudz lielu projektu, un mēs redzēsim, kā Xamarin turpina attīstīties Mono, lai atbalstītu jaunus Android un iOS izlaidumus. Bet, ja vēlaties jaunas funkcijas un jaunas API, kā arī plašāku starpplatformu attīstības modeli, jūsu turpmākā attīstības stratēģija tiks balstīta uz .NET 5 un notiekošo ikgadējo .NET izlaišanas grafiku. Pilnīgs, vienots .NET joprojām ir tālu, un, lai gan .NET 5 būs nozīmīgs solis uz priekšu, mēs redzēsim apvienošanos tikai 2021. gada beigās un nākamā ilgtermiņa atbalsta izlaiduma .NET 6 plānoto izlaišanu.

Mērķis nav pilnībā aizstāt Mono, bet gan viens kopīgs klases bibliotēku komplekts un viena .NET Core un Mono rīku ķēde, balstoties uz darbu, kas jau notiek platformas līmeņa funkcijās, piemēram, .NET Standard bibliotēkas. Tas atstāj intriģējošu jautājumu: kā konverģētā nākotnē izskatās starpplatformu lietotāja interfeiss? Lai gan WinOI 3 Uno Platform portā ir pieejama starpplatformu opcija ar mobilo ierīču atbalstu kopā ar WebAssembly un macOS, vadīklas, kuras Microsoft piegādā WinUI, ir Windows darbvirsmas vadīklas, un tās vislabāk darbojas galddatoru un planšetdatoru lietojumprogrammās.

Starpplatformu lietotāja interfeisa ietvara attīstīšana .NET

Xamarin piedāvā alternatīvu WinUI starpplatformu izstrādei. Tās starpplatformu stratēģija ir balstīta uz XAML atbalsta kombināciju vietējām vadīklām gan iOS, gan Android kopā ar savu starpplatformu Xamarin Forms. Xamarin Forms ir MVVM (model-view-viewmodel) izstrādes platforma pati par sevi, ar savu vadības izskatu un izjūtu, kuras pamatā ir Android materiāla dizaina valoda. Xamarin Forms nodrošina iOS un Android lietotnēm konsekventu izskatu un izjūtu, vienlaikus nodrošinot viņiem piekļuvi vietējām funkcijām un pakalpojumiem.

Ar .NET 6, kas paredzēts dažādu .NET platformu apvienošanai, Xamarin Forms ir loģisks pamats jaunam mobilo lietotāja saskarnes rīku kopumam un jaunai starpplatformu lietotāja saskarnes sistēmai .NET. Microsoft atklāja šo jauno pieeju Build 2020, nosaucot to par .NET Multiplatform App UI (MAUI).

.NET MAUI ir nākamās paaudzes Xamarin Forms, kuras mērķis ir ļaut izstrādātājiem vienreiz izveidot lietotni vienā Visual Studio projektā ar vienu koda bāzi, mērķējot uz jebkuru atbalstītu ierīci. Mērķis ir nodrošināt vienkāršotu projekta struktūru. Nevis viens risinājums ar atsevišķiem projektiem katrai platformai, kuru mērķējat, ar MAUI vienā projektā satur resursus, kas nepieciešami, lai atlasītu konkrētas platformas. Ja jums ir nepieciešami vietējie API, lai piekļūtu ierīcēm raksturīgiem pakalpojumiem, tos var apvienot platformu skatā un izmantot apkopošanas laikā, kad katras platformas mērķauditorijas atlase tiek veidota. Papildus platformas kodam varat apvienot resursus, kurus izmantos jūsu XAML, ieskaitot attēlus un fontus, dodot jums vienu vietu, kur pārvaldīt visus jūsu lietojumprogrammas elementus.

Jaunais projekta modelis, kas pievienots .NET 6, ir šīs pieejas atslēga, jo tas loģiskāku grupēšanu piemēro starpplatformu lietotnēs izmantotajiem moduļiem un koda izveidei un izvietošanai. Neskatoties uz projektu strukturālajām izmaiņām, rīt uzrakstītajam kodam vajadzētu būt līdzīgam šodienas kodam, taču to ir vieglāk izvietot vairākās platformās un pastāvīgi atjaunināt ar izmaiņām platformu API un lietojumprogrammu noformēšanas resursos.

Ceļš uz .NET MAUI

Mums joprojām ir mēneši, lai redzētu izmantojamu .NET MAUI kodu, jo tas ir atkarīgs no .NET 6 SDK funkcijām, lai gan GitHub repozitorijs jau ir atvērts ar dažām sākotnējām ieviešanām. Kad priekšskatījums tiek piegādāts 2020. gada beigās, tam, kas mums tiks iegūts, vajadzētu būt diezgan līdzīgam esošajām Xamarin veidlapām, kuras turpinās attīstīt paralēli .NET MAUI. Galvenās izmaiņas būs saistītas ar to, kā jūs strukturējat projektus, ar jaunu nosaukumvietu, kas no paša Xamarin nosaukumvietas pāriet uz .NET sistēmu.

Publicētais .NET MAUI ceļvedis liecina, ka sākotnēji mēs iegūsim priekšskatījuma izveidi, pamatojoties uz pašreizējā Xamarin Forms izlaiduma pārdēvēšanu, ar dažiem vienkāršojumiem un jaunām funkcijām, kas nāk no .NET 6 jaunajām funkcijām. Vairāk izmaiņu notiks 2021. gadā, attīstoties .NET MAUI un .NET 6, MacOS un Windows kontrolierīcēm pievienojoties Android un iOS līdz 2021. gada vasarai. Jums vajadzētu būt iespējai piegādāt vienotas lietojumprogrammas līdz paredzētajam 2021. gada novembra laidienam, izlaišanas kandidātam jābūt gatavam 2021. gada septembris.

Microsoft plāno citas izmaiņas Xamarin .NET 6 laika grafikā, pārvietojot citas Xamarin bibliotēkas uz sistēmu un pārdēvējot Xamarin.iOS un Xamarin.Android uz .NET iOS un .NET Android. Tas ir loģisks solis, ja tas ir mazliet skumji tiem no mums, kuri ir sekojuši Xamarin attīstībai kopš Mono sākuma dienām.

Varbūt pozitīvāks domāšanas veids ir tas, ka pārejot uz starpplatformu .NET Core kā visu .NET pamatu, ne tik daudz Microsoft absorbē Xamarin, cik Xamarin kļūst par .NET atvērtā pirmkoda nākotni . Tas ir labs Mono projekta mantojums.

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