Microsoft | Programování | Microsoft Build 2022

Microsoft MAUI: Další pokus o univerzální apku, která poběží jak na Windows, tak na iPhonu

Microsoft se už roky snaží prosadit se svým vývojářským frameworkem .NET vedle Windows i na dalších platformách. Zatímco v cloudu .NET směle konkuruje podnikové Javě, která tu měla vždy velmi silné postavení, na mobilních zařízeních je to pochopitelně horší.

A tak i když tu byl vedle Javy a Kotlinu pro Android a Objective-C a Swiftu pro iOS léta letoucí také projekt Xamarin (spadající pod křídla Microsoftu), který umožňoval vývoj multiplatformních aplikací v .NET a C#, drtivá většina vývojářů se nakonec stejně rozhodla pro nativní řešení od Googlu a Applu.

Zkusíme to znovu a pojmenujeme to MAUI

Teď to Microsoft zkouší znovu, loni na podzim totiž představil nejnovější generaci .NET 6, jejímž lákadlem je opět vývoj univerzálních aplikací, které poběží jak na Windows, tak na vašem Macu, iPhonu i telefonu s Androidem.

7773f3b2-6941-4a5f-89cd-7884e1391741

Základem je technologie, kterou v Redmondu vyvíjejí už nějaký pátek, ideově vychází právě z Xamarinu a velkou měrou se ji věnovali právě na aktuální výroční vývojářské konferenci Build.

Jmenuje se .NET MAUIMulti-platform App UI, staví na zmíněné vrstvě .NET 6 a umožňuje jak zcela abstrahovaný vývoj aplikace nehledě na platformu, na které poběží, tak využívání jejích specifických technologií třeba pro zvýšení výkonu.

5661bc19-ff9e-4fd7-8be8-91c87e925b0c
Váš uživatelský kód může používat výhradně MAUI a netušit, na čem vlastně poběží (1), anebo můžete přistupovat níže do .NETu pro konkrétní koncovou platformu (2)

Podcastová apka v MAUI, která poběží všude

Microsoft demonstruje MAUI třeba na ukázce podcastového klientu, kterou najdete na GitHubu. Projekt může používat stejná data i kód pro všechny platformy, vytvoříte jej v nejnovějším Visual Studiu a výsledek poběží jak na počítači s Windows, tak na telefonech od Applu a třeba Samsungu.

Vývoj ve Visual Studiu 2022 samozřejmě počítá se všemi pomocníky rychlého programování na mobilech. Nechybí emulátor a samozřejmě i instantní promítnutí změn v kódu do běžícího programu bez potřeby nového sestavení celého projektu (Hot Reload).

be35244b-4b59-426a-be5e-b393dfd88d90
Zdrojové kódy ukázkové aplikace .NET Podcasts najdete na GitHubu

Na mobilních a jablečných platformách se o konečný běh na nejnižším patře postará runtime Mono, na Windows pak klasické knihovny Win32. Microsoft slibuje co nejvyšší výkon díky .NET 6 a co nejvyšší míru integrace každé z aplikací tak, aby program pro Android vypadal a fungoval nativně a dodržoval designová pravidla dané platformy.

e872766d-720d-4f94-908e-eb315a3c1d59
Aplikace je zároveň hezkou demonstrací využití cloudu Azure, který využívá jak pro databáze, tak nejrůznější signaling a backend pro web

Hlavně aby to nevypadalo jak Java na Windows

Právě tento aspekt je velmi častým terčem kritiky u multiplatformních aplikací, které vypadají na všech zařízeních stejně, a tak zároveň nabourávají to, co na každé z nich koncový uživatel očekává. Však to jistě sami znáte třeba z éry obludně ošklivých Java aplikací pro Windows.

Uvidíme, jak se s touto výzvou poprali v Redmondu a jestli bude aplikace vytvořená pomocí MAUI a jeho UI komponent (včetně těch od partnerů) vypadat a fungovat opravdu tak, jak to slíbili inženýři Microsoft na konferenci Build.

Diskuze (12) Další článek: Mise OFT-2: Kosmická loď Starliner se úspěšně vrátila na Zemi

Témata článku: , , , , , , , , , , , , , , , , , , , ,