Programovanie

Vývoj aplikácií .NET zameraných na budúcnosť s platformou Uno

Ak trávite nejaký čas počúvaním a rozhovormi s vývojármi Windows, budete vedieť, že okolo platformy existuje veľa zmätkov a frustrácií, najmä okolo .NET a UWP (Universal Windows Platform). Spoločnosť Microsoft sa pokúša určiť hranicu medzi rozdielmi medzi UWP a staršími súpravami Windows SDK a pri oznámení o zostavení projektu Project Reunion o zostavení 2020 sa snaží priblížiť každému budúcnosť .NET 5, dodanie jednotnej platformy si však bude ešte chvíľu vyžadovať.

Veľa z toho spočívalo v spôsobe doručovania aktualizácií platformy Windows v minulosti: spolu s vydaniami operačných systémov. Project Reunion stavia na práci s komponentmi používateľského rozhrania WinUI, oddeľuje ich od základných operačných systémov a umožňuje vývojárskej platforme vyvíjať sa oveľa rýchlejšie ako predtým.

Stavanie na otvorenom prístupe k platforme poskytuje viac príležitostí na uvedenie vývojového modelu .NET (a vášho kódu) na čo najväčší počet platforiem. Jedným z príkladov toho, ako to bude fungovať, je implementácia WinUI platformy Uno Platform, ktorá nedávno uviedla svoje tretie hlavné vydanie.

Predstavujeme platformu Uno 3.0

Ak ste sa predtým na platformu Uno doteraz nepozerali, je asi najjednoduchšie si ju predstaviť ako alternatívu k Xamarin, ktorá vám umožní vytvoriť .NET kód fungujúci na iOS, Android, macOS a na webe. O spoločnosti Uno som už predtým písal ako o spôsobe poskytovania známych používateľských rozhraní na webe pomocou WinUI s programom WebAssembly a vývojovým rámcom spoločnosti Blazor od spoločnosti Microsoft.

Uno Platform 3.0 je vyvíjaná na podporu WinUI 3.0 popri WinUI 2.0. Týmto spôsobom môžete kombinovať nové a súčasné ovládacie prvky, čo je prístup, ktorý by mal fungovať dobre popri postupnom zavádzaní WinUI 3.0 aj systémových rozhraní Project Reunion API.

V Uno je toho veľa, čo sa páči, hlavne to, že sa tu nenachádza žiadna krivka učenia. Kód je možné zabudovať do vášho obľúbeného IDE a využívať existujúce nástroje a rámce, ktoré poskytujú spoločnú vrstvu používateľského rozhrania pre všetky vaše verzie kódu. Vaše C # a XAML musíte napísať iba raz, pričom kód WinUI bude bežať priamo v systéme Windows a cez Uno na iných platformách, pričom bude možné stavať na natívnych nástrojoch Xamarin pre iOS, macOS a Android a používať implementáciu Mono-WASM na Web.

Používanie Uno na prenos aplikácií .NET do systému macOS

Implementácia systému macOS Uno pod kapotou stavia na podobnostiach medzi AppKit pre MacOS a UIKit pre iOS. To umožňuje vývojovému tímu zverejniť svoje existujúce implementácie riadenia iOS. Aj keď to funguje, niektoré ovládacie prvky majú stále problémy, takže pred nasadením ľubovoľného kódu používateľom stojí za to experimentovať. Aj napriek tomu je to efektívny spôsob, ako preniesť existujúce aplikácie .NET z Windows do macOS. Budovaním na základných knižniciach macOS by Uno malo dúfať, že umožní vášmu kódu spustiť sa na nedávno ohlásenom Apple křemíku založenom na ARM.

Podpora počítačov Mac v systéme Uno je relatívne nová, začína sa v máji 2020 a obsahuje novú implementáciu aplikácie Windows Calculator v systéme macOS a zverejnená v obchode MacOS spoločnosti Apple. Vytvorenie vydania existujúceho kódu v systéme macOS si vyžaduje použitie sady nových šablón Uno a nástroja príkazového riadku Windows .NET. Po nainštalovaní nových šablón pre aplikáciu Uno 2.3 alebo 3.0 môžete vytvoriť aplikačné lešenie pre aplikáciu macOS s rovnakým názvom ako projekt, na ktorý chcete zacieliť.

Tento projekt potom môžete presunúť do rovnakého priečinka ako zvyšok súborov aplikácie a pridať nový projekt do existujúceho riešenia Visual Studio. Zostavte si svoj kód pre macOS pomocou Visual Studio pre Mac a nakonfigurujte jeho nastavenia simulátora iPhone tak, aby ste zacielili na svoje vývojové zariadenie macOS.

Pretože nemôžete Visual Studio pre Mac používať na prácu s aplikáciami Windows WinUI, je dobré použiť Git alebo podobnú platformu na kontrolu zdrojového kódu pre svoje úplné riešenie, aby ste mohli spravovať zmeny kódu pre macOS a pre Windows. Ak pracujete na verzii svojej aplikácie WebAssembly, pomocou Visual Studio Code ju vytvorte s rozšíreniami debuggeru C # a JavaScript. Podpora MacOS je k dispozícii v Uno 2.4 aj 3.0, pričom najnovšia verzia demonštruje multiplatformovú aplikáciu pre prehrávač videa na báze WinUI, ktorá je k dispozícii vo všetkých hlavných obchodoch s aplikáciami.

Používanie WinUI 3.0 v Uno

Ak plánujete prácu s WinUI 3.0, musíte použiť nedávne vydanie Uno 3.0. Opäť použite šablóny .NET platformy Uno na nastavenie lešenia pre váš kód. Ak presúvate existujúci kód do WinUI 3.0, musíte zmeniť menný priestor, ktorý používate, a to pre ovládacie prvky spoločnosti Microsoft, ako aj pre svoj kód Uno - čo je dosť ľahké pomocou refaktoringových nástrojov zabudovaných do Visual Studio.

Jedným zaujímavým aspektom platformy Uno je podpora zariadení s dvojitou obrazovkou. Prenesením existujúceho kódu do aplikácie Uno a pridaním jeho ovládacích prvkov pre dvojitú obrazovku by ste mali byť schopní prenášať aplikácie z Windows do nadchádzajúcej aplikácie Surface Duo pre Android s minimálnymi zmenami. Vďaka tomu, že spoločnosť Microsoft uprednostňuje mobilné aplikácie s dvojitou obrazovkou a spolupracuje so spoločnosťou Google na zlepšovaní podpory nadchádzajúcich vydaní systému Android, budú nástroje ako Uno dôležitou cestou, ako využiť existujúce zážitky na veľkoplošných obrazovkách a tabletoch z Windows a priviesť ich k skladaciemu a dvojobrazovkovému hardvéru pre Android. .

Platforma Uno a budúcnosť vývoja aplikácií .NET

Je zrejmé, že Microsoft sa zameriava na odstránenie nejasností v tom, ako budovať aplikácie v ekosystéme .NET, pomocou WinUI a Project Reunion, aby poskytol potrebné prehľady o budúcnosti. Pokiaľ však Microsoft sľúbi, že budú dodané, pre mnohých vývojárov bude pravdepodobne stále príliš pomalý. Platforma Uno aj Xamarin’s MAUI sú spôsoby, ako získať prístup k týmto technológiám rýchlejšie, navyše k existujúcemu kódu .NET.

Pridaním podpory makier a webového používateľského rozhrania do .NET sa platforma Uno javí ako lepšia voľba pre zacielenie na čo najväčší počet používateľov s najmenšou zmenou kódu; je to cesta do budúcnosti .NET, ktorá by mala ušetriť veľa času na vývoj a udržať zaťaženie podpory na minime.

Používanie Uno by malo zabezpečiť existujúci kód .NET v budúcnosti aj inými spôsobmi. In-browser WebAssembly a samostatné aplikácie WASI (WebAssembly System Interface) by mali zjednodušiť proces uvedenia vášho kódu do novej generácie okrajového hardvéru, najmä zariadení malého formátu a zariadení s malou obrazovkou založených na ARM a iných procesoroch s nízkou spotrebou.

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