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

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

Xamarin.Android architecture diagram

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

Xamarin.iOS architecture diagram

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:

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