Co je Xamarin?
Xamarin je opensourcová platforma pro vytváření moderních a výkonných aplikací pro iOS, Android a Windows s .NET. Xamarin je abstraktní vrstva, která spravuje komunikaci sdíleného kódu se základním kódem platformy. Xamarin běží ve spravovaném prostředí, které poskytuje pohodlí, jako je přidělení paměti a uvolňování paměti.
Xamarin umožňuje vývojářům sdílet průměrně 90 % svých aplikací napříč platformami. Tento model umožňuje vývojářům psát veškerou obchodní logiku v jednom jazyce (nebo opakovaně používat existující kód aplikace), ale dosáhnout nativního výkonu, vzhledu a chování na každé platformě.
Aplikace Xamarin lze psát na PC nebo Mac a kompilovat do nativních balíčků aplikací, jako je soubor .apk v Androidu nebo soubor .ipa v iOSu.
Poznámka
Kompilace a nasazování aplikací pro iOS v současné době vyžaduje počítač s MacOS. Další informace o požadavcích na vývoj najdete v tématu požadavky na systém.
Kdo Xamarin je určen
Xamarin je určený pro vývojáře s následujícími cíli:
- Sdílejte kód, testování a obchodní logiku napříč platformami.
- Psaní multiplatformních aplikací v jazyce C# pomocí Visual Studio
Jak Xamarin funguje
Diagram znázorňuje celkovou architekturu multiplatformní aplikace Xamarin. Xamarin umožňuje vytvářet nativní uživatelské rozhraní na každé platformě a psát obchodní logiku v jazyce C#, která se sdílí na různých platformách. Ve většině případů se 80 % kódu aplikace dá použít Xamarin.
Xamarin je založený na platformě .NET, která automaticky zpracovává úlohy, jako je přidělování paměti, uvolňování paměti a interoperabilita s podkladovými platformami.
Další informace o architektuře specifické pro platformu najdete v tématu Xamarin.Android a Xamarin.iOS.
Přidání funkcí
Xamarin kombinuje možnosti nativních platforem a přidává funkce, které zahrnují:
- Úplná vazba pro podkladové sady SDK – Xamarin obsahuje vazby téměř pro celé základní sady SDK platformy v iOSu i Androidu. Kromě toho jsou tyto vazby silného typu, což znamená, že jsou snadno procházet a používat a poskytovat robustní kontrolu typů kompilace a během vývoje. Vazby silného typu vedou k menšímu počtu chyb za běhu a aplikacím s vyšší kvalitou.
- Interoperabilita Objective-C, Java, C a C++ – Xamarin poskytuje zařízení pro přímé vyvolání knihoven Objective-C, Java, C a C++ a poskytuje vám možnost používat širokou škálu kódu třetích stran. Tato funkce umožňuje používat existující knihovny pro iOS a Android napsané v Objective-C, Java nebo C/C++. Xamarin navíc nabízí projekty vazeb, které umožňují vytvořit vazbu nativních knihoven Objective-C a Java pomocí deklarativní syntaxe.
- Moderní jazykové konstrukce – aplikace Xamarinu jsou napsané v jazyce C#, moderním jazyce, který zahrnuje významná vylepšení oproti funkcím Objective-C a Javě, jako jsou dynamické jazykové funkce, funkční konstrukce, jako jsou lambda, LINQ, paralelní programování, obecné typy a další.
- Robustní základní knihovna tříd (BCL) – aplikace Xamarin používají .NET BCL, velkou kolekci tříd, které mají komplexní a zjednodušené funkce, jako jsou výkonná podpora XML, databáze, serializace, vstupně-výstupních operací, řetězců a sítí a další. Existující kód jazyka C# lze zkompilovat pro použití v aplikaci, která poskytuje přístup k tisícům knihoven, které přidávají funkce nad rámec seznamu BCL.
- Moderní integrované vývojové prostředí (IDE) – Xamarin používá Visual Studio, moderní integrované vývojové prostředí, které zahrnuje funkce, jako je automatické dokončování kódu, sofistikovaný systém pro správu projektů a řešení, komplexní knihovna šablon projektů, integrovaná správa zdrojového kódu a další.
- Podpora mobilních multiplatformních platforem – Xamarin nabízí sofistikovanou podporu pro různé platformy pro tři hlavní platformy iOS, Android a Windows. Aplikace je možné zapsat, aby sdílely až 90 % kódu, a Xamarin.Essentials nabízí jednotné rozhraní API pro přístup k běžným prostředkům napříč všemi třemi platformami. Sdílený kód může výrazně snížit náklady na vývoj a čas uvedení na trh pro vývojáře mobilních zařízení.
Xamarin.Android
Aplikace Xamarin.Android se kompilují z jazyka C# do Zprostředkujícího jazyka (IL), který se při spuštění aplikace zkompiluje do nativního sestavení. Aplikace Xamarin.Android běží ve spouštěcím prostředí Mono souběžně s virtuálním počítačem s modulem Android Runtime (ART). Xamarin poskytuje vazby .NET na obory názvů Android.* a Java.*. Prostředí Mono execution environment volá tyto obory názvů prostřednictvím spravovaných obálkových obálky s možností volání (MCW) a poskytuje volatelné obálky androidu (ACW) art, což umožňuje oběma prostředím vyvolat kód navzájem.
Další informace najdete v tématu Architektura Xamarin.Android.
Xamarin.iOS
Aplikace Xamarin.iOS jsou plně předem (AOT) zkompilované z jazyka C# do nativního kódu sestavení ARM. Xamarin používá selektory k vystavení objective-C spravovanému jazyku C# a Registrars k zveřejnění spravovaného kódu jazyka C# pro Objective-C. Selektory a Registrars souhrnně se nazývají "vazby" a umožňují komunikaci Objective-C a C#.
Další informace najdete v tématu Architektura Xamarin.iOS.
Xamarin.Essentials
Xamarin.Essentials je knihovna, která poskytuje rozhraní API pro různé platformy pro nativní funkce zařízení. Stejně jako samotný Xamarin je abstrakce, Xamarin.Essentials která zjednodušuje proces přístupu k nativním funkcím. Mezi příkladyfunkcích Xamarin.Essentials
- Informace o zařízení
- Systém souborů
- Akcelerometr
- Telefon číselník
- Převod textu na řeč
- Zámek obrazovky
Další informace naleznete v tématu Xamarin.Essentials.
Xamarin.Forms
Xamarin.Forms je opensourcová architektura uživatelského rozhraní. Xamarin.Formsumožňuje vývojářům vytvářet aplikace Xamarin.iOS, Xamarin.Android a Windows z jediného sdíleného základu kódu. Xamarin.Forms umožňuje vývojářům vytvářet uživatelská rozhraní v XAML s kódem v jazyce C#. Tato uživatelská rozhraní se vykreslují jako výkonné nativní ovládací prvky na každé platformě. Mezi příklady funkcí, které Xamarin.Forms poskytuje, patří:
- Jazyk uživatelského rozhraní XAML
- Datové vazby
- Gesta
- Účinek
- Použití stylů
Další informace naleznete v tématu Xamarin.Forms.
Začínáme
Následující příručky vám pomůžou sestavovat první aplikaci pomocí Xamarinu:
- Začínáme sXamarin.Forms
- Začínáme s Xamarin.Android
- Začínáme s rozšířením Xamarin.iOS
- Začínáme s Xamarin.Mac