Co je Xamarin?

Screenshots of example Xamarin application in iOS and Android

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 of Xamarin architecture

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í:

  1. 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.
  2. 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.
  3. 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ší.
  4. 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.
  5. 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ší.
  6. 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

Xamarin.Android architecture diagram

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

Xamarin.iOS architecture diagram

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:

Další videa o Xamarinu najdete na Channel 9 a YouTube.