Sdílení kódu na více platformách

Tyto články vysvětlují různé možnosti sdílení kódu napříč platformami, včetně Windows, Androidu, iOSu a dalších.

Přehled sdílení kódu

Seznamte se s různými možnostmi sdílení kódu dostupnými pro projekty Xamarin, včetně knihoven .NET Standard a sdílených projektů. Podporují se také přenosné knihovny tříd, ale považují se za zastaralé ve prospěch .NET Standard.

.NET Standard

.NET Standard je upřednostňovanou možností sdílení kódu napříč platformami. Kód je sestaven proti konkrétní verzi (2.0 poskytuje nejlepší kompatibilitu rozhraní API s existujícím kódem rozhraní .NET Framework) a pak ho můžou využívat jiné projekty, které tuto úroveň podporují nebo vyšší. Projekty .NET Standard jsou podporované v sadě Visual Studio 2019 i v sadě Visual Studio 2019 pro Mac.

Sdílené projekty

Sdílené projekty umožňují napsat běžný kód, na který odkazuje řada různých projektů aplikací. Kód je zkompilován jako součást každého odkazujícího projektu a může obsahovat direktivy kompilátoru, které pomáhají začlenit funkce specifické pro platformu do sdíleného základu kódu. Tento článek popisuje, jak sdílené projekty fungují a jak je vytvářet a používat s projekty Xamarin.

Přenosné knihovny tříd

Projekty knihovny přenosných tříd umožňují sestavovat a distribuovat sestavení, která obsahují sdílený kód pro spouštění na více platformách. Chcete-li vytvořit knihovnu přenosných tříd (nebo "PCL"), nejprve vyberete, které platformy se mají cílit, a pak napíšete kód proti podmnožině rozhraní .NET Framework, která je k dispozici v profilu definovaném pro tyto platformy. Seznamy PCLS se považují za zastaralé v nejnovějších verzích sady Visual Studio; vývojářům se doporučuje místo toho používat .NET Standard 2.0.

Projekty NuGet: Multiplatformní knihovny pro sdílení kódu

Balíčky NuGet lze automaticky generovat z projektů PCL nebo .NET Standard; a Sdílené projekty lze zabalit do balíčků NuGet bait a switch pomocí samostatného typu projektu NuGet. Tato část vysvětluje, jak vytvořit balíčky NuGet pro každý scénář sdílení kódu.

Ruční vytváření balíčků NuGet pro Xamarin

Tipy pro vytváření balíčků NuGet, které fungují s platformou Xamarin.

Použití knihoven C/C++ v projektech Xamarin pro různé platformy

Tato technika umožňuje oddělit vývoj knihoven C/C++, vazby jazyka C# v NuGetu a aplikacích Xamarin. Funkce poskytuje nativní knihovna C/C++, ale veškerý kód specifický pro platformu je izolovaný od konečných aplikací Xamarin, což umožňuje nejvyšší možný výkon bez duplicit kódu.