Co je Blazor Hybrid?
Společnosti, které vytvářejí webové aplikace a klientské aplikace, obvykle najímají vývojáře pro různé role. Někteří vývojáři vytvářejí back-endovou logiku, která je na straně serveru. Některé z nich vytvářejí webové aplikace na straně klienta. Ostatní vytvářejí nativní klientské aplikace pro mobilní a desktopové platformy. Tito vývojáři často používají různé vývojové jazyky a technologie.
C# a .NET jsou oblíbené volby pro vytváření logiky na straně serveru. Webové aplikace na straně klienta se často vytvářejí pomocí architektur webového uživatelského rozhraní pomocí JavaScriptu. Pokud jde o nativní klientské aplikace pro stolní a mobilní zařízení, je k dispozici několik možností, včetně mnoha pro .NET a C#. Použití více jazyků a sad nástrojů vyžaduje více sad dovedností a často vyžaduje dva samostatné týmy. Kód pro přenos a reprezentaci dat musí být také sestaven v obou jazycích a musí být synchronizovaný. Blazor Hybrid může zjednodušit úlohy, kód a procesy vývojového týmu tím, že vám umožní používat stávající dovednosti a kód při vytváření webových aplikací v jazyce C# a .NET k vytváření nativních klientských aplikací pomocí těchto stejných technologií.
V této lekci začnete úvodem ke komponentám Blazor Hybrid, .NET MAUI a Razor Components.
Co je Blazor?
Aplikace Blazor se skládají z opakovaně použitelných součástí webového uživatelského rozhraní, které jsou sestavené pomocí C#, HTML a CSS. V Blazoru můžou vývojáři psát klientský a serverový kód v jazyce C#. Vývojáři také můžou sdílet kód a knihovny s kódem front-endového klienta a back-endovou logikou. Použití jazyka C# pro všechny kódy zjednodušuje sdílení dat mezi front-endem a back-endem, umožňuje opětovné použití kódu ke zrychlení vývoje a snížení údržby.
Co je Blazor Hybrid?
Blazor Hybrid umožňuje vývojářům kombinovat desktopové a mobilní nativní klientské architektury s .NET a Blazorem.
V hybridní aplikaci Blazor běží komponenty Razor nativně na zařízení. Komponenty se vykreslují do vloženého ovládacího prvku webového zobrazení prostřednictvím místního kanálu vzájemné spolupráce. Komponenty se nespouštějí v prohlížeči a webAssembly se neúčastní. Komponenty Razor načítají a spouštějí kód rychle a komponenty mají úplný přístup k nativním funkcím zařízení prostřednictvím platformy .NET.
Co je .NET MAUI?
.NET Multi-platform App UI (.NET MAUI) je multiplatformní rozhraní pro vytváření nativních mobilních a desktopových aplikací pomocí C# a XAML. Pomocí rozhraní .NET MAUI můžete vyvíjet aplikace, které můžou běžet v systémech Android, iOS, macOS a Windows z jediného sdíleného základu kódu. Jedním z klíčových cílů rozhraní .NET MAUI je umožnit implementaci co největší části logiky aplikace a rozložení uživatelského rozhraní v jediném základu kódu. .NET MAUI sjednocuje rozhraní API pro Android, iOS, macOS a Windows do jednoho rozhraní API, které umožňuje prostředí pro vývojáře s jedním zápisem a spouštěním kdekoli, a navíc poskytuje přímý přístup ke všem aspektům každé nativní platformy.
Hybridní aplikace Blazor s .NET MAUI
Podpora Blazor Hybrid je integrovaná v rozhraní .NET MAUI. .NET MAUI obsahuje ovládací prvek BlazorWebView, který umožňuje vykreslovat komponenty Razor do vloženého webového zobrazení. Pomocí rozhraní .NET MAUI a Blazor můžete opakovaně používat jednu sadu komponent webového uživatelského rozhraní napříč mobilními, desktopovými a webovými aplikacemi.
Požadavky na hybridní vývoj v Blazoru
Hybridní aplikace Blazor můžete vytvářet pomocí nejnovější verze sady Visual Studio 2022 nebo Visual Studio Code (s nainstalovanou sadou .NET SDK, úlohou .NET MAUI, rozšířením sady C# Dev Kit a nainstalovaným rozšířením .NET MAUI). V tomto modulu použijeme Visual Studio 2022 nebo Visual Studio Code k sestavení naší hybridní aplikace Blazor.
Ať už máte vývojové prostředí, musíte nainstalovat úlohu .NET MAUI, abyste měli jistotu, že sada .NET 8.0 SDK a nástroje jsou dostupné v sadě Visual Studio. Po instalaci budete mít všechno, co potřebujete, abyste mohli začít vytvářet hybridní aplikace Blazor. V dalším cvičení vytvoříte svou první hybridní aplikaci Blazor.