1. diel - Úvod do Xamarin
Vitajte u kurze vývoja multiplatformových mobilných aplikácií v Xamarin a C# .NET pre začiatočníkov. Kurz predpokladá aspoň základnú znalosť C# .NET. Naučíte sa tu vytvárať natívne aplikácie pre Android, iOS a Windows. Začneme klasickou aplikáciou, ktorá nás bude vedieť pozdraviť, a postupne sa dostaneme až k využitiu databázy, fotoaparátu, kontaktov, notifikácií a načítanie obsahu z webu pomocou API.
Úvod do mobilných aplikácií
Mobilné aplikácie, rovnako ako aplikácia webové, sú dnes na vzostupe. Zamyslime sa, prečo sú tieto aplikácie tak populárne ako pre užívateľov, tak pre firmy. Je to veľmi jednoduché.
Pokiaľ si užívateľ nainštaluje našu aplikáciu, môžeme ho jednoducho informovať o novinkách, výhodách atď. Priamo na jeho telefón a tým zvýšiť šancu niečo predať. Toho by sme asi len ťažko dosiahli pomocou nejakého emailového newsletteru, ktorý používateľ väčšinou rovno vymaže bez toho, aby ho vôbec čítal. Ako bonus ešte dostaneme informácie o jeho zariadenie ako je napríklad poloha a tým môžeme zacieliť naše ponuky na konkrétne mesto / lokalitu a podľa toho aj upraviť ponuku produktov. Pre užívateľov sú mobilné aplikácie zas výhodné v tom, že väčšinu obsahu môže prechádzať off-line, napr. Pri ceste metrom.
Znie to dobre, že? Prejdime tiež k úskalia vývoja mobilných aplikácií. V súčasnosti existujú 3 platformy (Android, iOS a Windows) a pre každú z nich sa používa iný programovací jazyk.
- Android (Java, Kotlin)
- iOS (Swift)
- Windows (C #)
Ak teda zákazník bude chcieť vytvoriť aplikáciu pre všetky platformy, poriadne sa pri tom asi zapotíte. Ak vás niekedy napadlo, že je zbytočné rovnakú aplikáciu písať 3x - jednu pre Android, druhú pre iOS, tretí pre Windows a ešte k tomu každú v inom jazyku, potom ste na správnom mieste.
Čo je to Xamarin
Xamarin umožňuje natívne vývoj aplikácií pre všetky platformy naraz a to s minimom skriptov pre daný OS a všetko len s použitím jazykov C# .NET a XAML. Môžeme tak zdieľať okolo 90% spoločného kódu pre všetky platformy. Že ste ešte nepočuli o XAML? Vôbec nevadí. Ako už názov napovedá, je to klasické XML s rozšírenú syntaxou (eXtensible Application Markup Language) a pomocou neho budeme riešiť dizajnové rozloženie prvkov v našich aplikáciách, ktoré "oživíme" C# skripty.
A ako to vlastne funguje? Ako som už spomínal, revolučný je práve to, že vývoj v Xamarin je natívne a pritom sa používa iba C# .NET pre všetky platformy s rozdielnymi natívnymi jazykmi. Princíp je opäť veľmi jednoduchý. Pri buildu sa projekt kompiluje na dané natívne subsystémy (Java pre Android, Swift pre iOS) a každá aplikácia tak vyzerá a správa sa, ako by bola napísaná v natívnom jazyku pre danú platformu. Iste teraz už všetci vidíme zásadné výhody Xamarin. Ďalšou nespornou výhodou je, že ak neovládame Javu alebo Swift a chceme tvoriť aplikáciu napr. Len pre Android alebo iOS, tak môžeme. Xamarin nám ponúka 5 základných druhov riešenia:
- Xamarin.Forms (vývoj pre všetky platformy naraz)
- Aplikácia pre Android
- Aplikácia pre iOS
- Aplikácia pre Android Wear
- Aplikácia pre WatchOS
Môžeme si tak pohodlne vybrať, čo práve potrebujeme. V tomto kurze sa však zameriame najmä na vývoj v Xamarin.Forms. S ďalšími druhmi riešenie si iste každý z vás už poradia.
Upozornenie: Pre testovanie aplikácií na iOS je potrebné pracovať na MACu alebo mať s PC spárované zariadenie s iOS. Bez toho nebudete môcť iOS verzie testovať.
Inštalácia vývojového prostredia
Ako to už býva, budeme potrebovať nejaké IDE. Keďže sa jedná o Microsoft technológiu, tak nikoho asi neprekvapí, že to bude Visual Studio. Ja použijem verziu Community. Sťahovať môžete na adrese https://visualstudio.microsoft.com/cs/. Ak máte inú verziu, môžu nastať drobné odlišnosti.
Po stiahnutí spustite inštalátor. Načíta sa inštalačné stránka s nástrojmi, tam si zaškrtejte, čo budete potrebovať + Vývoj mobilných aplikácií pomocou .NET. V pravej časti ešte zaškrtnite "Inštalácia balíka Android SDK" a "IntelliCode". Ak budete chcieť tvoriť aj aplikácie pre Windows Phone, je potrebné zaškrtnúť ešte UWP (Universal Windows Platform).
Ako jediná jazyková sada je defaultne nastavená Čeština. Neviem ako vám, ale v každom IDE mi osobne Čeština vadí a nemôžem v nej nič nájsť, takže v záložke Jazykové sady si zaškrtneme angličtinu a klikneme na "inštalovať".
Inštalácia nejakú dobu potrvá podľa vybraných funkcií a rýchlosti vášho pripojenia. V minime má Visual Studio okolo 10GB.
Príprava vývojového prostredia
Po spustení Visual Studia vyberieme "Vytvoriť nový projekt" a na ďalšej stránke "Mobilné aplikácie (Xamarin.Forms)".
Na ďalšej záložke vyberieme "prázdny" a klikneme na "vytvoriť". Aj keď sme zvolili prázdny projekt, Visual Studio nám vygenerovalo celú adresárovú štruktúru pre zdieľaný kód, Android aj iOS, a ak ste nainštalovali aj UWP, tak aj pre Windows. Štruktúru si môžete prezrieť vpravo v Solution Exploreri.
Než začneme so samotným rozborom štruktúry, je potrebné doinštalovať niekoľko súčastí. Klikneme v menu na Tools -> Android -> Android SDK manager. Otvorí sa nám okno s 2 záložkami (Platforms a Tools). V záložke Platforms zaškrtneme všetko od verzie 7.0 a klikneme na "Apply Changes". Vývoj pre staršie verzie Android sa už neoplatí. Navyše Google pri publikácii aplikácie na Google Play požaduje nejaké minimálne API, ktoré je potrebné maximálne 3 roky staré. Ak budeme mať aplikáciu postavenú na staršom API, máme smolu. Ďalšou výhodou použitia novšieho API je možnosť použitia modernejších techník a viac funkcií, grafických akceleráciou atď. Vhodný výber API je dôležitou súčasťou úspešnosti samotnej aplikácie. Keď budeme stavať všetko na poslednú verziu, 80% ľudí našu aplikáciu ani nespustí, keď zas na zastarané, strýko Google nás udrie cez prsty. Je preto dobré voliť nejakú zlatú strednú cestu. Viac o tejto problematike si povieme v ďalších lekciách.
Prejdime na druhú záložku Tools. Tam doinštalujeme Android SDK Build Tools a Android Emulator. Časom budeme inštalovať ešte NDK a pár Google knižníc, teraz je to však zbytočné.
Teraz máme prostredie pripravené. Ak ste urobili všetko správne, malo by Visual Studio vyzerať nejako takto. Všimnite si najmä okná Warnings. Ak dostávate nejaké varovanie ohľadom SDK, malo by stačiť Visual Studio reštartovať.
To by pre dnešok bolo všetko. V budúcej lekcii, Jazyk XAML v Xamarin.Forms , si povieme čo sa v aplikácii deje od spustenia, cez pauzu, až do ukončenia, preberieme danej metódy a rozoberieme si štruktúru Xamarin projektu.
V budúcej lekcii, Jazyk XAML v Xamarin.Forms , si popíšeme základy jazyka XAML pre tvorbu používateľského rozhrania v Xamarin aplikáciách.