Java týden Body zdarma
Využij podzimních slev a získej od nás až 40 % bodů zdarma! Více zde
Pouze tento týden sleva až 80 % na Java e-learning!

Lekce 1 - Úvod do Xamarin

Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem.
Vydávání, hosting a aktualizace umožňují jeho sponzoři.

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.

  • Android (Java, Kotlin)
  • iOS (Swift)
  • Windows (C#)

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 umožňuje nativní vývoj aplikací pro všechny platformy najednou a to s minimem skriptů pro daný OS a 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.

Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

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 opět 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 Xamarinu. 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í 5 základních druhů řešení:

  • Xamarin.Forms (vývoj pro všechny platformy najednou)
  • Aplikace pro Android
  • Aplikace pro iOS
  • Aplikace pro Android Wear
  • Aplikace pro WatchOS

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

Upozornění: Pro testování aplikací na iOS je třeba pracovat na MACu nebo mít s PC spárované zařízení s iOS. Bez toho nebudete moci iOS verze testovat.

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 + 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

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 "Vytvořit nový projekt" a na další stránce "Mobilní aplikace (Xamarin.Forms)".

Nový projekt Xamarin Forms ve Visual Studio

Na další záložce vybereme "prázdný" a klikneme na "vytvořit". I když jsme zvolili prázdný projekt, 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.

Než začneme se samotným rozborem struktury, je třeba doinstalovat několik součástí. Klikneme v menu na Tools -> Android -> 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". Vývoj pro starší verze Android se již nevyplatí. Navíc Google při publikaci aplikace na GooglePlay 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ž zas na zastaralé, strýček Google nás praští přes prsty. Je proto dobré volit nějakou zlatou střední cestu. Více o této problematice si povíme v dalších lekcích.

Verze Google API v Xamarin

Přejděme na druhou záložku Tools. Tam doinstalujeme Android SDK Build Tools a Android Emulator. Časem budeme instalovat ještě NDK a pár Google knihoven, teď je to však zbytečné.

Instalace Android Tools ve Visual Studio

Nyní máme prostředí připravené. Pokud jste udělali vše správně, mělo by Visual Studio vypadat nějak takto. Všimněte si zejména okna Warnings. Pokud dostáváte nějaké varovaní ohledně SDK, mělo by stačit Visual Studio restartovat.

Visual Studio s Xamarin

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.


 

 

Článek pro vás napsal Jaroslav Smrž
Avatar
Jak se ti líbí článek?
2 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.
Všechny články v sekci
Tvorba mobilních aplikací v Xamarin a C# .NET
Miniatura
Následující článek
Struktura Xamarin projektu a životní cyklus aplikace
Aktivity (2)

 

 

Komentáře

Avatar
Filip Němeček
Redaktor
Avatar
Filip Němeček:8. července 20:30

Už jde dělat iOS aplikace bez Macu? Dřív bylo nutné mít Mac dostupný alespoň po síti, aby build iOS aplikace probíhal na něm..

 
Odpovědět 8. července 20:30
Avatar
Jaroslav Smrž
Redaktor
Avatar
Odpovídá na Filip Němeček
Jaroslav Smrž:8. července 20:33

Vytvořit aplikaci lze, avšak jak je v článku zmíněno, pro testování či spuštění je třeba mít spárované iOS zařízení nebo pracovat přímo na MACu. Je to z důvodu interních knihoven od Apple.

Odpovědět 8. července 20:33
/* Life runs on code */
Avatar
Filip Němeček
Redaktor
Avatar
Odpovídá na Jaroslav Smrž
Filip Němeček:8. července 21:08

No s tím iOS mi to je jasné, mně šlo o to, jestli lze iOS verzi Xamarin aplikace buildovat bez Macu. Co jsem teď narychlo našel, tak by právě měl být Mac potřeba, ale třeba máš novější info a proto se ptám :-)

 
Odpovědět 8. července 21:08
Avatar
Jaroslav Smrž
Redaktor
Avatar
Odpovídá na Filip Němeček
Jaroslav Smrž:8. července 21:20

Promiň, špatně jsem pochopil tvůj původní dotaz. Připojení iOS je nezbytné. V některých případech, kdy je aplikace velice jednoduchá a neobsahuje žádný další specifický kód pro iOS (obsahuje pouze ten sdílený), tak je možné, že poběží i bez toho (některé základní knihovny jsou již nainstalovány), ale ve většině případů je nutnost připojení MACu.

Odpovědět  +1 8. července 21:20
/* Life runs on code */
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Alex
Redaktor
Avatar
Alex:17. července 17:40

Chci se zeptat, když si naistaluju i komponenty pro WINDOWS, bude ta aplikace fungovat i pro desktop?

 
Odpovědět 17. července 17:40
Avatar
Jaroslav Smrž
Redaktor
Avatar
Odpovídá na Alex
Jaroslav Smrž:17. července 18:03

Ano, při použití i Universal Windows Platform (UWP) bude fungovat na všech zařízeních s Windows, takže i na desktopu.

Odpovědět 17. července 18:03
/* Life runs on code */
Avatar
Alex
Redaktor
Avatar
Odpovídá na Jaroslav Smrž
Alex:17. července 18:35

Díky

 
Odpovědět 17. července 18:35
Avatar
Cyril Šebek
Člen
Avatar
Cyril Šebek:28. července 16:38

Mám problém, když kliknu na Android SDK manager, vyskočí mi okno "Android SDK Configuration " v tom okně jsou 2 radio button ale, jsou kliklí jenom ve chvíli kdy na ně najedu myší, a ve chvíli kdy sjedu myší na stranu tak se odklikne a když potom kliknu na "Continue" tak se to okno zavře.

 
Odpovědět 28. července 16:38
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.