Sdílet prostřednictvím


Část 3 – Nastavení multiplatformních řešení Xamarinu

Bez ohledu na to, jaké platformy se používají, všechny projekty Xamarin používají stejný formát souboru řešení (formát souboru sady Visual Studio .sln ). Řešení se dají sdílet napříč vývojovými prostředími, i když se jednotlivé projekty nedají načíst (například projekt Windows v Visual Studio pro Mac).

Při vytváření nové multiplatformní aplikace je prvním krokem vytvoření prázdného řešení. Tato část vysvětluje, co se stane dál: nastavení projektů pro vytváření mobilních aplikací pro různé platformy.

Sdílení kódu

Podrobný popis implementace sdílení kódu napříč platformami najdete v dokumentu Možnosti sdílení kódu.

.NET Standard

Projekty .NET Standard poskytují snadný způsob sdílení kódu napříč platformami a vytvářejí sestavení, která se dají používat napříč platformami Windows, Xamarin (iOS, Android, Mac) a Linuxem. Toto je doporučený způsob sdílení kódu pro řešení Xamarin.

Další možnosti

Xamarin používal knihovny přenosných tříd (PCLS) a sdílené projekty. Pro nové projekty se nedoporučuje žádná z těchto možností; a měli byste zvážit migraci stávajících aplikací, aby používaly .NET Standard.

Naplnění řešení

Bez ohledu na to, jakou metodu se používá ke sdílení kódu, by celková struktura řešení měla implementovat vrstvenou architekturu, která podporuje sdílení kódu. Přístup Xamarin je seskupit kód do dvou typů projektů:

  • Základní projekt (nebo "Sdílený") – na jednom místě můžete napsat opakovaně použitelný kód, který se má sdílet na různých platformách. Pomocí principů zapouzdření skryjte podrobnosti implementace, kdykoli je to možné.
  • Projekty aplikací specifické pro platformu – Spotřebujte opakovaně použitelný kód s co nejmenším párováním. Na této úrovni se přidávají funkce specifické pro platformu, které jsou postavené na komponentách vystavených v projektu Core.

Základní projekt

Základní projekty, které sdílejí kód, by měly být .NET Standard a pouze referenční sestavení, která jsou k dispozici na všech platformách – tj. společné obory názvů rozhraní jako Systema System.CoreSystem.Xml.

Základní projekty by měly implementovat co nejvíce funkcí bez uživatelského rozhraní, které by mohly zahrnovat následující vrstvy:

  • Datová vrstva – kód, který se stará o fyzické úložiště dat, např. SQLite-NET nebo dokonce xml soubory. Třídy datové vrstvy se obvykle používají pouze vrstvou přístupu k datům.
  • Vrstva přístupu k datům – definuje rozhraní API, které podporuje požadované operace s daty pro funkce aplikace, jako jsou metody pro přístup k seznamům dat, jednotlivé datové položky a také vytvářet, upravovat a odstraňovat.
  • Vrstva přístupu ke službám – volitelná vrstva pro poskytování cloudových služeb aplikaci. Obsahuje kód, který přistupuje ke vzdáleným síťovým prostředkům (webové služby, stahování imagí atd.) a případně ukládání výsledků do mezipaměti.
  • Obchodní vrstva – definice tříd modelu a tříd Façade nebo Manager, které zpřístupňují funkce pro aplikace specifické pro platformu.

Projekty aplikací pro konkrétní platformu

Projekty specifické pro platformu musí odkazovat na sestavení potřebná k vytvoření vazby k sadě SDK každé platformy (Xamarin.iOS, Xamarin.Android, Xamarin.Mac nebo Windows) a také k projektu .NET Standard.

Projekty specifické pro platformu by měly implementovat:

  • Aplikační vrstva – funkce specifické pro platformu a vazby /převod mezi objekty obchodní vrstvy a uživatelským rozhraním.
  • Vrstva uživatelského rozhraní – obrazovky, vlastní ovládací prvky uživatelského rozhraní, prezentace logiky ověřování.

Odkazy na projekty

Odkazy na projekt odrážejí závislosti pro projekt. Základní projekty omezují odkazy na běžná sestavení tak, aby se kód snadno sdílel. Projekty aplikací specifické pro platformu odkazují na projekt .NET Standard a všechna další sestavení specifická pro platformu, která potřebují využívat výhod cílové platformy.

Konkrétní příklady strukturování projektů jsou uvedeny v případových studiích.

Přidání souborů

Akce sestavení

Pro určité typy souborů je důležité nastavit správnou akci sestavení. Tento seznam ukazuje akci sestavení pro některé běžné typy souborů:

  • Všechny soubory jazyka C# – akce sestavení: Kompilace
  • Obrázky v Xamarin.iOS a Windows – akce sestavení: Obsah
  • Soubory XIB a Storyboard v Xamarin.iOS – Akce sestavení: InterfaceDefinition
  • Obrázky a rozložení XML v Androidu – Akce sestavení: AndroidResource
  • Soubory XAML v projektech Windows – akce sestavení: Stránka
  • Soubory XAML Xamarin.Forms – akce sestavení: EmbeddedResource

Obecně platí, že integrované vývojové prostředí (IDE) rozpozná typ souboru a navrhne správnou akci sestavení.

Rozlišování malých a velkých písmen

Nezapomeňte, že některé platformy mají systémy souborů s rozlišováním velkých a malých písmen (např. iOS a Android), proto nezapomeňte použít konzistentní standard pojmenování souborů a ujistěte se, že názvy souborů, které používáte v kódu, přesně odpovídají systému souborů. To je zvlášť důležité pro obrázky a další prostředky, na které odkazujete v kódu.