Programavimas

Ateities patikimumo .NET programų kūrimas naudojant „Uno Platform“

Jei praleisite bet kurį laiką klausydamiesi ir kalbėdami su „Windows“ kūrėjais, žinosite, kad yra daug painiavos ir nusivylimo platformos kryptimi, ypač aplink .NET ir UWP (universali „Windows“ platforma). „Microsoft“ bando nubrėžti skirtumus tarp UWP ir senesnių „Windows SDK“, bandydama visus įtraukti į .NET 5 ateitį paskelbdama „Build 2020“ pranešimą apie „Project Reunion“, tačiau vis tiek reikės laiko pristatyti vieningą platformą.

Nemažai to nulėmė tai, kaip anksčiau buvo teikiami „Windows“ platformos naujinimai: kartu su operacinės sistemos leidimais. „Project Reunion“ remiasi darbu su „WinUI“ vartotojo sąsajos komponentais, atsiejus juos nuo pagrindinių operacinių sistemų ir leidžiant kūrėjo platformai vystytis daug greičiau nei anksčiau.

Remiantis atviro kodo požiūriu į platformą, suteikiama daugiau galimybių perkelti .NET kūrimo modelį (ir jūsų kodą) į kuo daugiau platformų. Vienas pavyzdžių, kaip tai veiks, yra „Uno“ platformos „WinUI“ diegimas, kuris neseniai pristatė trečią didelę versiją.

Pristatome „Uno Platform 3.0“

Jei anksčiau nežiūrėjote į „Uno“ platformą, galbūt lengviausia tai galvoti kaip apie „Xamarin“ alternatyvą, kuri leidžia kurti .NET kodą, kuris veikia „iOS“, „Android“, „macOS“ ir žiniatinklyje. Aš jau rašiau apie „Uno“ kaip apie būdą pateikti žinomas vartotojo sąsajas internete, naudodamas „WinUI“ su „WebAssembly“ ir „Microsoft Blazor“ kūrimo sistema.

„Uno Platform 3.0“ yra kuriama palaikyti „WinUI 3.0“ kartu su „WinUI 2.0“. Tokiu būdu galite derinti naujus ir esamus valdiklius - požiūrį, kuris turėtų gerai veikti palaipsniui paleidžiant tiek „WinUI 3.0“, tiek sistemos lygio „Project Reunion“ API.

„Uno“ turi daug ką, ypač tai, kad mažai yra mokymosi kreivės. Kodas gali būti sukurtas jūsų mėgstamoje IDE ir naudoti esamus įrankius bei sistemas, suteikiant bendrą vartotojo sąsajos sluoksnį visoms jūsų kodo versijoms. Savo C # ir XAML turėsite parašyti tik vieną kartą, naudodami „WinUI“ kodą, veikiantį tiesiogiai „Windows“ ir per „Uno“ kitose platformose, kurdami „Xamarin“ vietinius įrankius, skirtus „iOS“, „MacOS“ ir „Android“, bei naudodami „Mono-WASM“ diegimą Žiniatinklis.

„Uno“ naudojimas .NET programoms perkelti į „MacOS“

„Uno“ „MacOS“ diegimas remiasi „MacOS“ „AppKit“ ir „iOS“ UIKit panašumais. Tai leidžia kūrėjų komandai paskelbti esamus „iOS“ valdymo diegimus. Nors tai veikia, kai kurie valdikliai vis dar turi problemų, todėl verta eksperimentuoti prieš diegdami bet kokį kodą savo vartotojams. Nepaisant to, tai yra efektyvus būdas perkelti esamas .NET programas iš „Windows“ į „MacOS“. Remdamasis pagrindinėmis „MacOS“ bibliotekomis, „Uno“ turėtų tikėtis leisti jūsų kodui veikti neseniai paskelbtame ARM pagrindu pagamintame „Apple“ silicyje.

„Mac“ palaikymas „Uno“ yra gana naujas, pradedamas naudoti 2020 m. Gegužės mėn., Iš naujo įdiegus „Windows“ skaičiuoklės programą „MacOS“ ir paskelbus „Apple“ „MacOS“ parduotuvėje. Norint sukurti esamo kodo „MacOS“ versiją, reikia naudoti naujų „Uno“ šablonų rinkinį ir „Windows .NET“ komandinės eilutės įrankį. Įdiegę naujus „Uno 2.3“ arba „3.0“ šablonus, galite sukurti „MacOS“ programos pastolius tuo pačiu pavadinimu kaip ir projektas, kurį norite taikyti.

Tada galite perkelti tą projektą į tą patį aplanką kaip ir kiti programos failai ir pridėti naują projektą prie esamo „Visual Studio“ sprendimo. Sudarykite „MacOS“ kodą naudodami „Visual Studio for Mac“ ir sukonfigūruokite jo „iPhone“ treniruoklio nustatymus, kad galėtumėte nukreipti savo kūrimo „macOS“ įrenginį.

Kadangi negalite naudoti „Visual Studio for Mac“ darbui su „Windows WinUI“ programomis, naudokite „Git“ arba panašią šaltinio kodo valdymo platformą visiškam sprendimui, kad galėtumėte valdyti „MacOS“ ir „Windows“ kodo pakeitimus. Jei dirbate su „WebAssembly“ programos versija, naudokite „Visual Studio Code“, kad sukurtumėte ją naudodami C # ir „JavaScript“ derintuvo plėtinius. „MacOS“ palaikymas galimas tiek „Uno 2.4“, tiek „3.0“ versijose, o naujausia versija demonstruoja „WinUI“ pagrindu veikiančią kelių platformų vaizdo grotuvų programą, kuri yra prieinama visose pagrindinėse programų parduotuvėse.

„WinUI 3.0“ naudojimas „Uno“

Jei planuojate dirbti su „WinUI 3.0“, turite naudoti naujausią „Uno“ 3.0 leidimą. Vėlgi naudokite „Uno Platformos .NET“ šablonus, kad nustatytumėte savo kodo pastolius. Jei perkeliate esamą kodą į „WinUI 3.0“, turite pakeisti naudojamą vardų sritį tiek „Microsoft“ valdikliams, tiek „Uno“ kodui - tai pakankamai lengva padaryti naudojant „Visual Studio“ įmontuotus pertvarkymo įrankius.

Vienas įdomus „Uno“ platformos aspektas yra dviejų ekranų įrenginių palaikymas. Paėmę esamą kodą į „Uno“ ir pridėdami jo dvigubo ekrano valdiklius, turėtumėte turėti galimybę perkelti programas iš „Windows“ į būsimą „Android“ pagrįstą „Surface Duo“ su minimaliais pakeitimais. „Microsoft“ teikdama pirmenybę dviejų ekranų mobiliesiems taikomosioms programoms ir bendradarbiaudama su „Google“, siekdama pagerinti būsimų „Android“ leidimų palaikymą, tokie įrankiai kaip „Uno“ bus svarbus kelias į esamo didelio ekrano ir planšetinio kompiuterio patirtį iš „Windows“ ir jas perkeliant į sulankstomą ir dviejų ekranų „Android“ aparatūrą .

„Uno Platform“ ir .NET programų kūrimo ateitis

Akivaizdu, kad „Microsoft“ siekia pašalinti painiavą, kaip kurti programas .NET ekosistemoje, naudodama „WinUI“ ir „Project Reunion“, kad suteiktų taip reikalingą aiškumą apie ateitį. Tačiau kai tik „Microsoft“ žada, kad jie bus pristatyti, daugeliui kūrėjų jie greičiausiai bus per lėti. Tiek „Uno“ platforma, tiek „Xamarin“ MAUI yra būdai, leidžiantys greičiau pasiekti šias technologijas, be esamo .NET kodo.

Pridėjus prie .NET „macOS“ ir žiniatinklio vartotojo sąsajos palaikymą, „Uno“ platforma atrodo geresnis pasirinkimas, kad būtų galima nukreipti kuo daugiau vartotojų ir kuo mažiau pakeisti kodą; tai kelias į .NET ateitį, kuris turėtų sutaupyti daug kūrimo laiko ir palaikymo apkrovos kuo mažiau.

Naudojant „Uno“, jūsų dabartinis .NET kodas turėtų būti saugus ir kitais būdais. Naršyklės „WebAssembly“ ir atskiros WASI („WebAssembly System Interface“) programos turėtų supaprastinti kodo pateikimo į naujos kartos aparatinę įrangą procesą, ypač mažos formos faktorių ir mažo ekrano įrenginius, pagrįstus ARM ir kitais mažos galios procesoriais.

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