Xamarin Martin Bojnanský MSP, Riganti @martinbojnansky martin.bojnansky@outlook.com http://bojnansky.com Windows Android iOS Vývoj aplikácií pre -Nástroj pre tvorbu mobilných aplikácií pre popredné platformy. Prečo Xamarin? Jeden programovací jazyk C# Natívne API / Výkon Natívne UI / Výkon Spoločný UI Framework 1. • -Veľkou výhodou oproti natívnemu vývoju pre jednotlivé platformy je zdieľanie kódu. -Zachováva 100% dostupnosť natívneho API pre OS. (rozdiel oproti PhoneGap a iným) -Výstupom kompilácie Xamarinu sú natívne balíčky. -Xamarin teda nemá negatívny vplyv na výkon aplikácie. Zdieľanie kódu Priemerne 75% aplikačnej logiky Takmer 100% pri využití Xamarin.Forms A screenshot of a cell phone Description generated with very high confidence - Nespochybniteľnou výhodou je množstvo zdieľaného kódu, kde Xamarin uvádza priemerne až 75% aplikačnej logiky a pri využití Xamarin.Forms je možné sa takmer úplne vyhnúť akémukoľvek špecifickému kódu pre niektorú z podporovaných platforiem. Prečo nie? Veľkosť výslednej aplikácie Balíky tretích strán -Veľkosť výslednej aplikácie narastá použitím .NET Framework a Mono. (cca 10 MB) -Často potrebujeme používať balíky/služby implementované len v jednom jazyku a z tohto dôvodu je potrebné knižnice mapovať aby mohli byť používane zo C#. Xamarin.Forms Framework pre tvorbu UI Spoločný pre všetky platformy Neovplyvňuje výkon aplikácie Natívne UI na všetkých platformách A screenshot of a cell phone Description generated with very high confidence -Xamarin Forms je framework určený pre zjednodušenie implementácie UI aplikácií. -Spoločný jazyk a komponenty, ktoré sú za behu aplikácie mapované na natívne komponenty a tak nespomaľuje výsledné aplikácie. Xamarin.Forms A screenshot of a cell phone Description generated with very high confidence Xamarin.Forms XAML C# Xamarin vs. Xamarin.Forms XAMARIN Dôležitosť natívneho a špecifického UI Veľké množstvo platform-specific API XAMARIN.FORMS Dôležitosť zdieľania kódu Klientske aplikácie s množstvom formulárov a pod. Mimo iné, Xamarin.Forms umožňuje vďaka vlastným „Renderers“ dosiahnuť takmer akéhokoľvek chovania UI. Čo potrebujem? Visual Studio for Mac for Mac Visual Studio for Mac Visual Studio for Windows Visual Studio Visual Studio Workloads Vývoj pre iOS Pre kompiláciu potrebujeme tzv. Mac Agent Kompilácia prebieha na zariadení Mac OS Simulátor beží priamo vo Windows Vytvorenie projektu Zdieľanie kódu SHARED PROJECT Zdieľané súbory pre všetky platformy Možný override pre konkrétnu platformu Pred-procesorové direktívy .NET STANDART LIBRARY Jedna DLL pre všetky platformy Len spoločné veci Špecifické veci je možné odtieniť pomocou interface Prvý pokus Xamarin Live Player Živý náhľad UI pre iOS a Android zariadenia Odporúčané zdroje Xamarin Developer https://developer.xamarin.com/ Základy C# https://mva.microsoft.com/en-US/training-courses/c-fundamentals-for-absolute-beginners-16169 Xamarin Forms https://mva.microsoft.com/en-US/training-courses/mastering-xamarinforms-development-part-1-pages-l ayout-and-navigation-17554?l=xyikQaUpD_8200115881