Ohjelmointi

Tulevaisuuden kestävä .NET-sovelluskehitys Uno-alustalla

Jos vietät aikaa kuunnellaksesi ja puhuessasi Windows-kehittäjien kanssa, tiedät, että alustan suuntaan liittyy paljon hämmennystä ja turhautumista, etenkin .NET- ja UWP-ympäristöissä (Universal Windows Platform). Microsoft yrittää piirtää rajan UWP: n ja vanhempien Windows SDK: iden välillä yrittäen tuoda kaikki .NET 5-tulevaisuuteen Build 2020 -ilmoituksen avulla Project Reunion, mutta yhtenäisen alustan toimittaminen vie vielä aikaa.

Paljon siitä on johtunut siitä, miten Windows-alustan päivitykset on toimitettu aiemmin: yhdistettynä käyttöjärjestelmän julkaisuihin. Project Reunion perustuu työhön WinUI-käyttöliittymäkomponenttien kanssa, irrottaen ne taustalla olevista käyttöjärjestelmistä ja antamalla kehittäjäalustan kehittyä paljon nopeammin kuin ennen.

Alustalle avoimen lähdekoodin pohjalta rakentaminen antaa enemmän mahdollisuuksia tuoda .NET-kehitysmalli (ja koodisi) mahdollisimman monelle alustalle. Yksi esimerkki tämän toiminnasta on Uno Platformin WinUI-toteutus, joka julkaisi äskettäin kolmannen suuren julkaisun.

Esittelyssä Uno Platform 3.0

Jos et ole katsonut Uno-alustaa aiemmin, on ehkä helpoin ajatella sitä vaihtoehtona Xamarinille, jonka avulla voit rakentaa .NET-koodia, joka toimii iOS: llä, Androidilla, macOS: lla ja verkossa. Olen aiemmin kirjoittanut Unosta tapana toimittaa tuttuja käyttöliittymiä Webissä WinUI: n, WebAssembly: n ja Microsoftin Blazor-kehityskehyksen avulla.

Uno Platform 3.0: ta kehitetään tukemaan WinUI 3.0: ta WinUI 2.0: n rinnalla. Näin voit sekoittaa uusia ja nykyisiä ohjaimia, lähestymistavan, jonka pitäisi toimia hyvin sekä WinUI 3.0: n että järjestelmätason Project Reunion -sovellusliittymien vaiheittaisen käyttöönoton rinnalla.

Unossa on paljon pidettävää, varsinkin että oppimiskäyrää on vähän tai ei lainkaan. Koodi voidaan rakentaa suosikki IDE: si ja käyttää olemassa olevia työkaluja ja kehyksiä, jotka tarjoavat yhteisen käyttöliittymäkerroksen kaikille koodiversioillesi. Sinun on kirjoitettava C # ja XAML vain kerran, WinUI-koodi toimii suoraan Windowsissa ja Unon kautta muilla alustoilla, rakentamalla Xamarinin natiivityökalut iOS: lle, macOS: lle ja Androidille ja käyttämällä Mono-WASM-toteutusta Verkko.

NET-sovellusten tuominen macOSiin Unon avulla

Konepellin alla Unon macOS-toteutus perustuu samankaltaisuuteen macOS: n AppKitin ja iOS: n UIKitin välillä. Tämä antaa kehitystiimille mahdollisuuden lähettää nykyiset iOS-ohjaustoteutuksensa. Vaikka tämä toimii, joissakin ohjausobjekteissa on edelleen ongelmia, joten kannattaa kokeilla ennen koodin lähettämistä käyttäjille. Silti se on tehokas tapa tuoda olemassa olevat .NET-sovellukset Windowsista macOSiin. Rakentamalla ydin macOS-kirjastoja, Unon pitäisi toivottavasti antaa koodisi toimia äskettäin julkistetun ARM-pohjaisen Apple-piin kanssa.

Unon Mac-tuki on suhteellisen uusi, ja se käynnistettiin toukokuussa 2020, ja Windows-laskin -sovellus otettiin uudelleen käyttöön macOS: ssä ja julkaistiin Applen macOS-kaupan kautta. Olemassa olevan koodin macOS-julkaisun luominen edellyttää uusien Uno-mallien ja Windows .NET-komentorivityökalun käyttöä. Kun olet asentanut uudet mallit joko Uno 2.3: lle tai 3.0: lle, voit luoda sovellustelineet MacOS-sovellukselle samalla nimellä kuin projekti, johon haluat kohdistaa.

Tämän jälkeen voit siirtää projektin samaan kansioon kuin muut sovellustiedostosi ja lisätä uuden projektin olemassa olevaan Visual Studio -ratkaisuun. Käännä koodisi macOS: lle Visual Studio for Mac -ohjelmalla ja määritä sen iPhone-simulaattorin asetukset kohdistaaksesi MacOS-kehityslaitteellesi.

Koska Visual Studio for Mac -ohjelmaa ei voi käyttää Windows WinUI -sovelluksissa, kannattaa käyttää Git-sovellusta tai vastaavaa lähdekoodin ohjausympäristöä täydelliseen ratkaisuusi, jotta voit hallita koodimuutoksia macOS: lle ja Windowsille. Jos työskentelet sovelluksesi WebAssembly-version kanssa, rakenna Visual Studio -koodin avulla C #- ja JavaScript-virheenkorjauslaajennuksilla. MacOS-tuki on saatavana sekä Uno 2.4: ssä että 3.0: ssa, ja uusin versio osoittaa WinUI-pohjaisen alustojen välisen videosoittosovelluksen, joka on saatavana kaikissa tärkeimmissä sovelluskaupoissa.

WinUI 3.0: n käyttö Unossa

Jos aiot työskennellä WinUI 3.0: n kanssa, sinun on käytettävä Unon äskettäistä 3.0-julkaisua. Jälleen kerran määritä rakennustelineet koodillesi Uno Platformin .NET-mallien avulla. Jos siirrät olemassa olevaa koodia WinUI 3.0: een, sinun on vaihdettava käyttämäsi nimitila sekä Microsoft-ohjaimissa että Uno-koodissasi - mikä on tarpeeksi helppoa Visual Studion sisäisten korjaustyökalujen avulla.

Yksi mielenkiintoinen näkökohta Uno-alustassa on tuki kahden näytön laitteille. Kun viet nykyisen koodin Unoon ja lisäät sen kaksoisnäyttöohjaimet, sinun pitäisi pystyä siirtämään sovelluksia Windowsista tulevaan Android-pohjaiseen Surface Duo -ohjelmaan minimaalisilla muutoksilla. Kun Microsoft asettaa etusijalle kaksoisnäyttöiset mobiilisovellukset ja tekee yhteistyötä Googlen kanssa tulevien Android-julkaisujen tuen parantamiseksi, Unon kaltaiset työkalut ovat tärkeä reitti nykyisten suurten näyttöjen ja tablettien käyttökokemusten tuomiseen Windowsista ja niiden tuomiseen taittuviin ja kaksoisnäyttöisiin Android-laitteistoihin .

Uno Platform ja .NET-sovelluskehityksen tulevaisuus

On selvää, että Microsoft pyrkii poistamaan hämmennykset siitä, miten sovelluksia rakennetaan .NET-ekosysteemiin, WinUI: n ja Project Reunionin avulla tarjoamaan kaivattua tulevaisuuden selkeyttä. Mutta niin nopeasti kuin Microsoft lupaa, että ne toimitetaan, ne ovat silti todennäköisesti liian hitaita monille kehittäjille. Sekä Uno-alusta että Xamarinin MAUI ovat tapoja saada pääsy näihin tekniikoihin nopeammin nykyisen .NET-koodisi lisäksi.

Lisäämällä macOS: n ja Web-käyttöliittymän tuen .NET: ään Uno-alusta näyttää olevan parempi vaihtoehto kohdistaa mahdollisimman monelle käyttäjälle pienimmällä koodimuutoksella. se on tie .NET-tulevaisuuteen, jonka pitäisi säästää paljon kehitysaikaa ja pitää tukikuorma minimissä.

Unon käyttämisen pitäisi suojata nykyinen .NET-koodisi myös muilla tavoin. Selaimen sisäisten WebAssembly- ja erillisten WASI (WebAssembly System Interface) -sovellusten tulisi yksinkertaistaa koodin tuomista uuden sukupolven huippulaitteistoihin, erityisesti pienikokoisiin laitteisiin ja pieninäyttöisiin laitteisiin, jotka perustuvat ARM: ään ja muihin pienitehoisiin prosessoreihin.

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