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 jednotlivých platformách.
Aplikace Xamarin lze zapsat 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 opožadavch
Kdo Xamarin je pro
Xamarin je určený pro vývojáře s následujícími cíli:
- Sdílení kódu, testování a obchodní logiky napříč platformami
- Psaní multiplatformních aplikací v jazyce C# pomocí sady 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í napříč platformami. Ve většiněpřípadůch
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í:
- Kompletní vazba pro podkladové sady SDK – Xamarin obsahuje vazby pro téměř celou základní sadu SDK platformy v iOSu i Androidu. Kromě toho jsou tyto vazby silného typu, což znamená, že se snadno orientují a používají a poskytují 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.
- Interop Objective-C, Java, C a C++ – Xamarin poskytuje zařízení pro přímé vyvolání knihoven Objective-C, Java, C a C++, které umožňují 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, Javě nebo C/C++. Xamarin navíc nabízí projekty vazeb, které umožňují svázat nativní knihovny Objective-C a Java pomocí deklarativní syntaxe.
- Moderní jazykové konstrukce – aplikace Xamarin 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í knihovna základních tříd (BCL) – aplikace Xamarin používají .NET BCL, velkou kolekci tříd, které mají komplexní a zjednodušené funkce, jako je 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 multiplatformní podporu pro tři hlavní platformy iOS, Android a Windows. Aplikace se dají zapsat tak, 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 na všech třech platformách. Sdílený kód může výrazně snížit náklady na vývoj i dobu 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 (Just-in-Time), který se při spuštění aplikace zkompiluje do nativního sestavení. Aplikace Xamarin.Android běží v prostředí mono spouštění souběžně s virtuálním počítačem Android Runtime (ART). Xamarin poskytuje vazby .NET na obory názvů Android.* a Java.*. Mono execution environment volá do těchto oborů 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 mezi sebou.
Další informace najdete v tématu Architektura Xamarin.Android.
Xamarin.iOS
Aplikace Xamarin.iOS jsou plně předem zkompilované z jazyka C # do nativního kódu sestavení ARM. Xamarin používá selektory k zveřejnění Objective-C pro spravované 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říklady funkcí, které Xamarin.Essentials poskytuje, patří:
- Informace o zařízení
- Systém souborů
- Akcelerometr
- Telefon číselník
- Převod textu na řeč
- Zámek obrazovky
Další informace najdete na webu Xamarin.Essentials.
Xamarin.Forms
Xamarin.Forms je opensourcová architektura uživatelského rozhraní. Xamarin.Forms umožň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 JAZYCE 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
- Formátování
Další informace najdete na webu Xamarin.Forms.
Začínáme
Následující příručky vám pomůžou vytvořit první aplikaci pomocí Xamarinu: