Programmēšana

Nākotnes droša .NET lietojumprogrammu izstrāde ar platformu Uno

Ja pavadīsit kādu laiku, klausoties un runājot ar Windows izstrādātājiem, jūs zināt, ka ir daudz neskaidrību un neapmierinātības par platformas virzienu, it īpaši ap .NET un UWP (universālā Windows platforma). Microsoft mēģina novilkt robežu starp atšķirībām starp UWP un vecākām Windows SDK, vienlaikus mēģinot panākt ikvienu .NET 5 nākotni ar paziņojumu par projekta apvienošanos, lai izveidotu 2020. gadu, taču vienotās platformas nodrošināšanai joprojām būs vajadzīgs laiks.

Daudz kas ir atkarīgs no tā, kā Windows platformas atjauninājumi tika piegādāti iepriekš: kopā ar operētājsistēmas izlaidumiem. Project Reunion balstās uz darbu ar WinUI lietotāja saskarnes komponentiem, atvienojot tos no pamatā esošajām operētājsistēmām un ļaujot izstrādātāja platformai attīstīties daudz ātrāk nekā iepriekš.

Balstoties uz atvērtā koda pieeju platformai, tiek dotas lielākas iespējas .NET izstrādes modeli (un jūsu kodu) ievietot pēc iespējas vairāk platformās. Viens piemērs tam, kā tas darbosies, ir Uno Platformas WinUI ieviešana, kas nesen uzsāka savu trešo lielāko izlaidumu.

Iepazīstinām ar Uno Platform 3.0

Ja iepriekš neesat apskatījis platformu Uno, iespējams, visvieglāk ir domāt par to kā par alternatīvu Xamarin, kas ļauj izveidot .NET kodu, kas darbojas iOS, Android, macOS un tīmeklī. Es jau iepriekš rakstīju par Uno kā veidu, kā piegādāt pazīstamas lietotāju saskarnes tīmeklī, izmantojot WinUI ar WebAssembly un Microsoft Blazor izstrādes sistēmu.

Uno Platform 3.0 tiek izstrādāts, lai atbalstītu WinUI 3.0 līdzās WinUI 2.0. Tādā veidā jūs varat sajaukt un saskaņot jaunās un pašreizējās vadīklas, pieejai, kurai vajadzētu darboties labi, pakāpeniski izlaižot gan WinUI 3.0, gan sistēmas līmeņa Project Reunion API.

Uno var daudz kas patīk, it īpaši tas, ka mācīšanās līkne ir maza vai vispār nav. Kodu var izveidot jūsu iecienītākajā IDE un izmantot esošos rīkus un ietvarus, nodrošinot kopēju lietotāja saskarnes slāni visām jūsu koda versijām. C # un XAML jums ir jāraksta tikai vienreiz, WinUI kods darbojas tieši operētājsistēmā Windows un caur Uno citās platformās, balstoties uz Xamarin vietējiem rīkiem iOS, MacOS un Android un izmantojot Mono-WASM ieviešanu vietnē Web.

Uno izmantošana, lai .NET lietotnes nogādātu MacOS

Uno macOS ieviešana zem pārsega balstās uz līdzībām starp macOS AppKit un iOS UIKit. Tas ļauj izstrādes komandai izlikt esošās iOS vadības ieviešanas iespējas. Lai gan tas darbojas, dažām vadīklām joprojām ir problēmas, tāpēc pirms jebkura koda izvietošanas lietotājiem ir vērts eksperimentēt. Pat ja tas ir efektīvs veids, kā esošās .NET lietotnes novirzīt no Windows uz MacOS. Veidojot galvenās macOS bibliotēkas, Uno, cerams, ļaus jūsu kodam darboties nesen paziņotajā ARM balstītajā Apple silīcijā.

Mac atbalsts Uno ir salīdzinoši jauns, un tas tiek uzsākts 2020. gada maijā, atkārtoti ieviešot Windows kalkulatora lietotni macOS un publicējot to Apple macOS veikalā. Lai izveidotu esošā koda macOS laidienu, jāizmanto jaunu Uno veidņu kopa un Windows .NET komandrindas rīks. Pēc jauno Uno 2.3 vai 3.0 veidņu instalēšanas varat izveidot lietotņu sastatnes macOS lietojumprogrammai ar tādu pašu nosaukumu kā projektam, kuru vēlaties atlasīt.

Pēc tam šo projektu varat pārvietot tajā pašā mapē, kur ir pārējie lietojumprogrammas faili, un pievienot jauno projektu esošam Visual Studio risinājumam. Apkopojiet savu kodu macOS, izmantojot Visual Studio for Mac, un konfigurējiet tā iPhone simulatora iestatījumus, lai mērķētu uz izstrādes macOS ierīci.

Tā kā jūs nevarat izmantot Visual Studio for Mac darbam ar Windows WinUI lietotnēm, ieteicams pilnam risinājumam izmantot Git vai līdzīgu avota koda vadības platformu, lai jūs varētu pārvaldīt koda izmaiņas MacOS un Windows. Ja strādājat ar savas lietotnes WebAssembly versiju, izmantojiet Visual Studio kodu, lai izveidotu to ar C # un JavaScript atkļūdotāju paplašinājumiem. MacOS atbalsts ir pieejams gan Uno 2.4, gan 3.0 versijās, un jaunākā versija demonstrē WinUI balstītu starpplatformu video atskaņotāju lietojumprogrammu, kas ir pieejama visos galvenajos lietotņu veikalos.

WinUI 3.0 izmantošana programmā Uno

Ja plānojat strādāt ar WinUI 3.0, jums jāizmanto Uno jaunākais 3.0 izlaidums. Atkal izmantojiet Uno Platformas .NET veidnes, lai iestatītu sastatnes savam kodam. Ja pārvietojat esošo kodu uz WinUI 3.0, jums ir jāmaina izmantotā vārdu telpa gan Microsoft vadīklām, gan jūsu Uno kodam - tas ir pietiekami vienkārši, izmantojot Visual Studio iebūvētos atjaunošanas rīkus.

Viens interesants Uno platformas aspekts ir atbalsts divu ekrānu ierīcēm. Ņemot esošo kodu uz Uno un pievienojot tā divu ekrānu vadīklas, jums vajadzētu būt iespējai ar minimālām izmaiņām pārvietot lietotnes no Windows uz gaidāmo Android balstīto Surface Duo. Tā kā Microsoft priekšroku dod divu ekrānu mobilajām lietojumprogrammām un sadarbojas ar Google, lai uzlabotu atbalstu gaidāmajiem Android izlaidumiem, tādi rīki kā Uno būs svarīgs ceļš, lai no liela ekrāna un planšetdatora pieredzes izmantotu Windows un novirzītu tos uz Android locīšanas un divu ekrānu aparatūru .

Uno platforma un .NET lietojumprogrammu izstrādes nākotne

Ir skaidrs, ka Microsoft mērķis ir novērst neskaidrības par to, kā veidot lietojumprogrammas .NET ekosistēmā, izmantojot WinUI un Project Reunion, lai sniegtu tik nepieciešamo skaidrību par nākotni. Bet tiklīdz Microsoft sola, ka tie tiks piegādāti, daudziem izstrādātājiem tie, visticamāk, būs pārāk lēni. Gan Uno platforma, gan Xamarin's MAUI ir veidi, kā ātrāk piekļūt šīm tehnoloģijām, papildus esošajam .NET kodam.

Pievienojot .NET macOS un tīmekļa lietotāja saskarnes atbalstu, Uno platforma izskatās labāka izvēle, lai mērķētu pēc iespējas vairāk lietotāju ar vismazāko koda maiņu; tas ir ceļš uz .NET nākotni, kam vajadzētu ietaupīt daudz izstrādes laika un minimizēt atbalsta slodzi.

Lietojot Uno, jūsu esošais .NET kods būtu jāpadara drošāks arī citos veidos. Pārlūkprogrammā WebAssembly un atsevišķām WASI (WebAssembly System Interface) lietojumprogrammām vajadzētu vienkāršot koda novirzīšanu uz jaunākās paaudzes aparatūru, īpaši maza izmēra faktoru un maza ekrāna ierīcēm, kuru pamatā ir ARM un citi mazjaudas procesori.

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