Programovanie

Pochopenie .NET MAUI a budúcnosť Xamarinu

V roku 2000 sa konferencia profesionálnych vývojárov spoločnosti Microsoft zamerala na nastavenie scény pre .NET a predstavila mnoho technológií, ktoré sme používali za posledné dve desaťročia. Po dvadsiatich rokoch je potrebné povedať, že spoločnosť Microsoft stlačila tlačidlo resetovania na rozšírení .NET a jeho mnohých vývojárskych rámcov. Na výstave Build 2020 spoločnosť stanovila plán na nasledujúcich dvadsať rokov, pričom bude vychádzať z oznámenia o stretnutí projektu.

Budúcnosť je jedno

Je možné sa pozrieť zhruba o šesť rokov späť a vidieť korene súčasnosti v otvorenom získavaní zdrojov .NET a vytváraní .NET Foundation. Platforma potrebovala nezávislý orgán, ktorý by ju mohol zabezpečiť pri prechode zo starého rozhrania .NET Framework na nové, staršie a modulárne rozhranie .NET Core. Tento prechod musel zahŕňať viac ako Windows; musel spojiť mobilných klientov Xamarin a 3-D herné platformy Unity, ako aj zamerať sa na rozšírenie dosahu .NET na macOS a na Linux.

To nás privádza do roku 2020 a nadchádzajúceho prechodu od starnúceho .NET Framework 4 k novému .NET 5, ďalšiemu veľkému vydaniu .NET Core s väčšinou známych rozhraní .NET Framework API a menných priestorov. Táto transformácia spôsobí začiatok veľkých zmien v oblasti mobilných a multiplatformných vývojových nástrojov spoločnosti Xamarin od spoločnosti Microsoft, keď Microsoft presunie inžinierske úsilie z Xamarin’s Mono na .NET 5.

Spojenie Mono a .NET v .NET 6

Jedna vec je jasná: Spoločnosť Microsoft nevyhadzuje svoje ani vaše investície do Xamarin. Mono ešte nikam nepôjde. Veľa veľkých projektov závisí od Mono a uvidíme, že Xamarin bude naďalej vyvíjať Mono tak, aby podporovalo nové vydania Android a iOS. Ale ak chcete nové funkcie a nové API a širší model vývoja naprieč platformami, potom bude vaša budúca vývojová stratégia založená na .NET 5 a pokračujúcom ročnom harmonograme vydávania .NET. Plné a zjednotené rozhranie .NET je stále v nedohľadne, a hoci bude .NET 5 významným krokom vpred, zjednotenia sa dočkáme až koncom roku 2021 a plánovaným vydaním ďalšieho dlhodobého podporného vydania .NET 6.

Zámerom nie je úplne nahradiť Mono, ale mať jednu spoločnú sadu knižníc tried a jeden reťazec nástrojov pre .NET Core a pre Mono, nadväzujúci na prácu, ktorá sa už deje vo funkciách na úrovni platformy, ako je .NET Standard. knižnice. To ponecháva zaujímavú otázku: Ako vyzerá multiplatformné používateľské rozhranie v konvergovanej budúcnosti? Aj keď v prístave platformy Uno platformy WinUI 3 existuje možnosť pre rôzne platformy, s podporou mobilných zariadení spolu s programami WebAssembly a macOS, ovládacími prvkami, ktoré spoločnosť Microsoft dodáva vo WinUI, sú ovládacie prvky pracovnej plochy systému Windows a fungujú najlepšie v desktopových a tabletových aplikáciách.

Vývoj medziplatformového rámca používateľského rozhrania pre .NET

Xamarin ponúka alternatívu k WinUI pre vývoj na viacerých platformách. Jeho stratégia pre rôzne platformy je založená na kombinácii podpory XAML pre natívne ovládacie prvky pre iOS aj Android spolu s vlastnými platformami Xamarin Forms. Xamarin Forms je samostatná vývojová platforma MVVM (model-view-viewmodel) s vlastným ovládacím vzhľadom a štýlom založeným na jazyku Material Design systému Android. Xamarin Forms poskytuje aplikáciám pre iOS a Android konzistentný vzhľad a dojem, zatiaľ čo im stále poskytuje prístup k natívnym funkciám a službám.

S .NET 6 zameraným na zjednotenie rôznych platforiem .NET je Xamarin Forms logickým základom pre novú sadu nástrojov pre mobilné používateľské rozhranie a nový framework pre rôzne platformy pre .NET. Spoločnosť Microsoft predstavila tento nový prístup na webe Build 2020 a nazvala ho .NET Multiplatform App UI (MAUI).

.NET MAUI je nová generácia formulárov Xamarin, ktorá má vývojárom umožniť vytvoriť aplikáciu raz v jednom projekte Visual Studio s jednou základňou kódov a zamerať sa na akékoľvek podporované zariadenie. Cieľom je poskytnúť zjednodušenú štruktúru projektu. Namiesto jednotného riešenia so samostatnými projektmi pre každú platformu, na ktorú zacieľujete, bude s MAUI jeden projekt obsahovať zdroje potrebné na zacielenie na konkrétne platformy. Ak potrebujete natívne rozhrania API na prístup k službám špecifickým pre zariadenie, môžu byť tieto zoskupené v zobrazení platforiem a použité v čase kompilácie pri zacielení na zostavy pre každú platformu. Spolu s kódom platformy môžete zoskupiť prostriedky, ktoré váš XAML použije, vrátane obrázkov a typov písma, a získate tak jedno miesto na správu všetkých prvkov svojej aplikácie.

Nový projektový model, ktorý je dodávaný s .NET 6, je kľúčom k tomuto prístupu, pretože aplikuje logickejšie zoskupenie na moduly používané v multiplatformových aplikáciách a na spôsob vytvárania a nasadenia kódu. Napriek štrukturálnym zmenám v projektoch by však kód, ktorý napíšete zajtra, mal byť veľmi podobný dnešnému, ale mal by sa dať ľahšie nasadiť na viacerých platformách a udržiavať v aktualizácii so zmenami v API platformy a prostriedkoch na návrh aplikácií.

Cesta k .NET MAUI

Stále nám zostáva niekoľko mesiacov na to, aby sme videli použiteľný kód .NET MAUI, pretože to závisí od funkcií súpravy .NET 6 SDK, hoci úložisko GitHub je už pri niektorých počiatočných implementáciách otvorené. Keď sa ukážka objaví koncom roku 2020, to, čo dostaneme, by malo byť dosť podobné ako existujúce formuláre Xamarin, ktoré sa budú vyvíjať súbežne s .NET MAUI. Kľúčové zmeny budú okolo toho, ako štruktúrujete projekty, s novým menným priestorom presunutým z vlastného menného priestoru Xamarin do systému .NET.

Zverejnená cestovná mapa pre .NET MAUI naznačuje, že spočiatku dostaneme zostavenie ukážky založené na premenovaní aktuálneho vydania Xamarin Forms, s niektorými zjednodušeniami a novými funkciami pochádzajúcimi z nových funkcií .NET 6. Ďalšie zmeny prídu v priebehu roku 2021, keď sa vyvinú .NET MAUI a .NET 6, s ovládacími prvkami macOS a Windows, ktoré sa k Androidu a iOS pripoja do leta 2021. Mali by ste byť schopní dodávať zjednotené aplikácie do plánovaného vydania novembra 2021, pričom kandidát na vydanie má byť uvedený do September 2021.

Spoločnosť Microsoft plánuje ďalšie zmeny Xamarin v časovom rámci .NET 6, presun ďalších knižníc Xamarin do systému a premenovanie Xamarin.iOS a Xamarin.Android na .NET pre iOS a .NET pre Android. Je to logický krok, i keď trochu smutný pre tých z nás, ktorí sledovali vývoj Xamarinu od počiatku Mona.

Možno pozitívnejším spôsobom uvažovania o tom je, že pri prechode na multiplatformové rozhranie .NET Core ako základu všetkých vecí .NET nejde ani tak o to, aby spoločnosť Microsoft absorbovala Xamarin, ale skôr o to, aby sa Xamarin stal srdcom budúcnosti otvoreného zdroja .NET. . To je dobré dedičstvo pre projekt Mono.

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