Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 1 - Úvod do Xamarin

Vítejte u kurzu vývoje multiplatformních mobilních aplikací v Xamarin a C# .NET pro začátečníky. Kurz předpokládá alespoň základní znalost C# .NET. Naučíte se zde vytvářet nativní aplikace pro Android, iOS a Windows. Začneme klasickou aplikací, která nás bude umět pozdravit, a postupně se dostaneme až k využití databáze, fotoaparátu, kontaktů, notifikací a načtení obsahu z webu pomocí API.

Úvod do mobilních aplikací

Mobilní aplikace, stejně jako aplikace webové, jsou dnes na vzestupu. Zamysleme se, proč jsou tyto aplikace tak populární jak pro uživatele, tak pro firmy. Je to velmi jednoduché.

Pokud si uživatel nainstaluje naší aplikaci, můžeme ho jednoduše informovat o novinkách, výhodách atd. přímo na jeho telefon a tím zvýšit šanci něco prodat. Toho bychom asi jen těžko dosáhli pomocí nějakého emailového newsletteru, který uživatel většinou rovnou vymaže bez toho, aby ho vůbec četl. Jako bonus ještě dostaneme informace o jeho zařízení jako je třeba poloha a tím můžeme cílit naše nabídky na konkrétní město / lokalitu a podle toho i upravit nabídku produktů. Pro uživatele jsou mobilní aplikace zas výhodné v tom, že většinu obsahu může procházet off-line, např. při cestě metrem.

Zní to dobře, že? Přejděme také k úskalí vývoje mobilních aplikací. V současné době existují 3 platformy (Android, iOS a Windows) a pro každou z nich se používá jiný programovací jazyk.

Pokud tedy zákazník bude chtít vytvořit aplikaci pro všechny platformy, pořádně se u toho asi zapotíte. Jestli vás někdy napadlo, že je zbytečné stejnou aplikaci psát 3x – jednu pro Android, druhou pro iOS, třetí pro Windows a ještě k tomu každou v jiném jazyce, pak jste na správném místě.

Co je to Xamarin

Logo Xamarin - Xamarin - Mobilní aplikace v C# .NET

Xamarin je platforma spravovaná Microsoftem, která je určená pro nativní vývoj aplikací pro operační systémy Android, iOS, Windows, Mac, Tizen a další.

A jak to vlastně funguje? Jak jsem již zmiňoval, revoluční je právě to, že vývoj v Xamarin je nativní a přitom se používá pouze C# .NET pro všechny platformy s rozdílnými nativními jazyky. Princip je velmi jednoduchý. Při buildu se projekt kompiluje na dané nativní subsystémy (Java pro Android, Swift pro iOS) a každá aplikace tak vypadá a chová se, jako by byla napsána v nativním jazyce pro danou platformu. Jistě teď už všichni vidíme zásadní výhody Xamarin.

Další nespornou výhodou je, že pokud neovládáme Javu nebo Swift a chceme tvořit aplikaci např. pouze pro Android nebo iOS, tak můžeme. Xamarin nám nabízí několik základních druhů řešení podle toho, pro jaký systém chceme aplikaci psát. Pár si jich uvedeme:

  • Aplikace pro Android
  • Aplikace pro iOS
  • Aplikace pro Android Wear
  • Aplikace pro WatchOS
  • Aplikace pro Mac
  • Xamarin.Forms (vývoj pro více systémů najednou)

Můžeme si tak pohodlně vybrat, co zrovna potřebujeme. V tomto kurzu se však zaměříme zejména na vývoj v Xamarin.Forms. S dalšími druhy řešení si jistě každý z vás již poradí.

Xamarin.Forms

Xamarin.Forms umožňuje nativní vývoj aplikací pro všechny platformy najednou a to s minimem skriptů pro daný OS. Vše pouze s použitím jazyků C# .NET a XAML. Můžeme tak sdílet okolo 90% společného kódu pro všechny platformy. Že jste ještě neslyšeli o XAML? Vůbec nevadí. Jak již název napovídá, je to klasické XML s rozšířenou syntaxí (eXtensible Application Markup Language) a pomocí něj budeme řešit designové rozložení prvků v našich aplikacích, které "oživíme" C# skripty.

Zdejší kurz se bude věnovat především vývoji Android a případně iOS aplikací.

Instalace vývojového prostředí

Jak už to bývá, budeme potřebovat nějaké IDE. Jelikož se jedná o Microsoft technologii, tak nikoho asi nepřekvapí, že to bude Visual Studio. Já použiji verzi Community. Stahovat můžete na adrese https://visualstudio.microsoft.com/cs/. Pokud máte jinou verzi, mohou nastat drobné odlišnosti.

Po stažení spusťte instalátor. Načte se instalační stránka s nástroji, tam si zaškrtejte, co budete potřebovat + sadu Vývoj mobilních aplikací pomocí .NET. V pravé části ještě zaškrtněte Instalace sady Android SDK a IntelliCode. Pokud budete chtít tvořit i aplikace pro Windows Phone, je třeba zaškrtnout ještě UWP (Universal Windows Platform).

Jako jediná jazyková sada je defaultně nastavena čeština. Nevím jak vám, ale v každém IDE mi osobně čeština vadí a nemohu v ní nic najít, takže v záložce Jazykové sady si zaškrtneme angličtinu a klikneme na "Instalovat".

Instalace Visual Studia - Xamarin - Mobilní aplikace v C# .NET

Jestliže máte již Visual Studio nainstalované bez sady Vývoj mobilních aplikací pomocí .NET, tak stačí kliknout na položku Tools v aplikačním menu Visual Studia a poté zvolit položku Get Tools and Features…. Otevře se vám stejné instalační okno.

Instalace nějakou dobu potrvá podle vybraných funkcí a rychlosti vašeho připojení. V minimu má Visual Studio okolo 10GB.

Příprava vývojového prostředí

Po spuštění Visual Studia vybereme Create a new project a na další stránce Mobile App (Xamarin.Forms):

Nový projekt Xamarin.Forms ve Visual Studio - Xamarin - Mobilní aplikace v C# .NET

Dále zadáme název a umístění projektu a potvrdíme tlačítkem Create. V novém okně pak vybereme šablonu Blank (prázdný projekt), což je nejjednodušší typ aplikace. Kromě šablony ještě můžeme zvolit platformy, pro které plánujeme aplikaci vyvíjet:

Výběr šablony a platforem - Xamarin - Mobilní aplikace v C# .NET

I když jsme zvolili prázdný projekt (Blank), Visual Studio nám vygenerovalo celou adresářovou strukturu pro sdílený kód, Android i iOS, a pokud jste nainstalovali i UWP, tak i pro Windows. Strukturu si můžete prohlédnout vpravo v Solution Exploreru.

Příprava prostředí pro Android

Než začneme se samotným rozborem struktury, je třeba se ujistit, že máme nainstalovaných několik součástí pro vývoj Android aplikací. Klikneme v menu na Tools, poté Android a Android SDK manager. Otevře se nám okno se 2 záložkami (Platforms a Tools). V záložce Platforms zaškrtneme vše od verze 7.0 a klikneme na Apply Changes:

Záložka Platforms - Xamarin - Mobilní aplikace v C# .NET

Vývoj pro starší verze Android se již nevyplatí. Navíc Google při publikaci aplikace na Google Play požaduje nějaké minimální API, které je třeba maximálně 3 roky staré. Pokud budeme mít aplikaci postavenou na starším API, máme smůlu. Další výhodou použití novějšího API je možnost použití modernějších technik a více funkcí, grafických akcelerací atd.

Vhodný výběr API je důležitou součástí úspěšnosti samotné aplikace. Když budeme stavět vše na poslední verzi, 80% lidí naši aplikaci ani nespustí, když naopak na zastaralé, strýček Google nás praští přes prsty. Je proto dobré volit nějakou zlatou střední cestu.

Přejděme na druhou záložku Tools. Tam se ujistíme, že máme nainstalované nejnovější Android SDK Build Tools a Android Emulator. Jestliže ne, tak tyto položky zaškrtneme a potvrdíme Apply Changes. Časem budeme instalovat ještě NDK a pár Google knihoven, teď je to však zbytečné:

Záložka Tools - Xamarin - Mobilní aplikace v C# .NET

Příprava prostředí pro iOS

V případě, že chceme vyvíjet aplikace pro systém iOS, tak musíme mít ideálně k dispozici nějaké zařízení s macOS. To potřebujeme k tomu, abychom na něm mohli dané aplikace spouštět a publikovat na AppStore, pouze na Windows to nelze. Zde máme tedy dvě možnosti, buď budeme aplikaci psát ve Visual Studiu na Windows, se kterým si náš MAC tzv. spárujeme, nebo ji budeme vyvíjet rovnou na MACu ve Visual Studio for Mac. Jelikož v celém kurzu budeme používat Visual Studio na Windows, které je oproti tomu pro macOS stabilnější a nabízí více funkcí, tak si podrobněji popíšeme tu první možnost.

Pokud plánujete vyvíjet aplikace pouze pro Android nebo Windows, tak tento postup samozřejmě není třeba provádět. Aplikace se vždy sestavují samostatně na konkrétní platformu, tedy bez závislosti na ostatních platformách.

Párovaní macOS s Visual Studio

Než s párováním začneme, musíme mít k dispozici zapnuté zařízení s macOS, které je připojené ke stejné síti, a na kterém máme nainstalovanou aktuální verzi vývojového prostředí Xcode.

Dále na něm musíme mít povolenou funkci Vzdáleného přihlášení (Remote login). To provedeme tak, že v Předvolbách systému (System Preferences) půjdeme do Sdílení (Sharing), kde tuto funkci zaškrtneme a povolíme ji buď všem uživatelům, nebo jen vybraným:

Nastavení Vzdáleného přihlášení na macOS - Xamarin - Mobilní aplikace v C# .NET

Všimněte si IP adresy vašeho MACu, tu budeme později potřebovat.

Nyní se již můžeme přesunout zpět do Visual Studio. V menu klikneme na Tools, poté iOS a Pair to Mac. V nově otevřeném okně buď vybereme náš MAC a klikneme na Connect..., nebo zvolíme Add Mac... a připojíme se k němu pomocí jeho IP adresy:

Zadání IP - Xamarin - Mobilní aplikace v C# .NET

Poté budeme vyzváni k zadání přihlašovacích údajů k účtu na MACu:

Přihlášení - Xamarin - Mobilní aplikace v C# .NET

Po přihlášení se nám na MAC doinstalují potřebné knihovny a nástroje, může to chvíli trvat. Jestli jsme se úspěšně přihlásili, poznáme podle ikony u našeho MACu:

Menu v okně Pair to Mac - Xamarin - Mobilní aplikace v C# .NET

Při každém dalším spuštění IDE Visual Studio by se nám pak měl MAC sám spárovat. Jestliže ne, tak je i tak tento postup jednodušší. Náš MAC by se již měl aspoň zobrazit v menu okna Pair to Mac (nemusíme zadávat jeho IP adresu). Pouze zvolíme náš MAC a klikneme na Connect....

Podrobnější vysvětlení tohoto postupu naleznete v oficiální dokumentaci, zde naleznete i možná řešení nejčastějších problémů.

Spouštění aplikací přímo na iOS zařízení

Poslední možností, jak spouštět iOS aplikace z Windows, je použít fyzické iOS zařízení. Technologie, která se k tomu využívá, se nazývá Xamarin Hot Restart. Zde však zájemce již odkážu na oficiální dokumentaci.

Závěrem

Nyní máme prostředí připravené. Pokud dostáváte nějaké varovaní ohledně SDK v okně Warnings, mělo by stačit Visual Studio restartovat.

To by pro dnešek bylo vše.

V příští lekci, Struktura Xamarin projektu a životní cyklus aplikace, si povíme co se v aplikaci děje od spuštění, přes pauzu, až do ukončení, probereme dané metody a rozebereme si strukturu Xamarin projektu.


 

Všechny články v sekci
Xamarin - Mobilní aplikace v C# .NET
Přeskočit článek
(nedoporučujeme)
Struktura Xamarin projektu a životní cyklus aplikace
Článek pro vás napsal Jaroslav Smrž
Avatar
Uživatelské hodnocení:
76 hlasů
Autor se věnuje primárně vývoji webových aplikací v .NET Core. Zajímá se také o vývoj her v Unreal Engine 4 a mobilních aplikací v Xamarin.
Aktivity