Efektivní vývoj mobilních aplikací na více platforem současně Mgr. David Gešvindr MCT MSP MCPD MCITP gesvindr@mail.muni.cz
Osnova 1. Kam míří platforma Windows Phone 2. Seznámení s univerzálními Windows Store aplikacemi 3. Budujeme sdílené jádro aplikace 4. Xamarin aneb vyvíjíme pro Android a ios v.netu
Osnova 1. Kam míří platforma Windows Phone 2. Seznámení s univerzálními Windows Store aplikacemi 3. Budujeme sdílené jádro aplikace 4. Xamarin aneb vyvíjíme pro Android a ios v.netu
Pohled do historie platformy Windows Phone 7 Uveden v roce 2010 Vývoj aplikací v Silverlightu a XNA frameworku Windows Phone 7.5 Uveden v roce 2011 Rozšířeno API (běh agentů na pozadí) Windows Phone 8 Uveden v roce 2012 Změna jádra z Windows CE na Windows NT Implementována část Windows Runtime z Windows 8
Platforma Windows Phone 8.1 Plně implementuje Windows Runtime Vyvíjené aplikace jsou 2 druhů: 1. Windows Phone Silverlight 8.1 Application 2. Windows Phone Store Application
Windows Phone Silverlight 8.1 App Na Windows Phone 8.1 lze vyvíjet aplikace stejně jako na Windows Phone 8 Není nutné hned portovat na Windows Store Omezené API Na dožití.net WINDOWS PHONE API Windows Phone Runtime Direct3D, XAudio2, MF, WASAPI, Win32 & COM MANAGED MANAGED & NATIVE NATIVE Pouze Windows 8 Sdílená část Pouze Windows Phone 8
Windows Phone Store Application Unifikovaný druh aplikace s Windows 8.1 Postavena výhradně na Windows Runtime Sjednoceny ovládací prvky s Windows 8.1 Většina je shodných Některé se chovají specificky podle platformy Vybrané jsou specifické pro platformu Stejný.appx formát balíčku s aplikací
Dostupné programovací jazyky Vycházejí z jazyků podporovaných ve Windows Runtime: XAML +.NET language (C#) XAML + C++ HTML5 + JS + CSS3 Kombinace jazyků s pomocí WinRT komponent C++, C#, VB.NET
Který druh aplikace si zvolit? Nová aplikace Windows Phone Store Application Existující aplikace Přechod z Windows Phone Silverlight 8 na 8.1 Přechod na Windows Store verzi vyžaduje přepsání části aplikace
Osnova 1. Kam míří platforma Windows Phone 2. Seznámení s univerzálními Windows Store aplikacemi 3. Budujeme sdílené jádro aplikace 4. Xamarin aneb vyvíjíme pro Android a ios v.netu
Univerzální Windows Store aplikace Aplikaci nelze napsat jednou a automaticky je sdílet mezi platformami Rozdílné formáty obrazovek Jiné efektivní uspořádání obsahu Aplikace na telefon a tablet je nutné odlišit hlavně z hlediska uživatelského rozhraní
Šablona Universal App 3 projekty Windows 8.1 verze Windows Phone 8.1 verze Sdílený kód Nelze samostatně zkompilovat Dojde k jeho sjednocení (merge) s kódem specifickým pro platformu
Architektura sdílené aplikace Windows 8.1 Windows Phone 8.1 Platform specific views Platform specific views Shared Shared views View-Models Models
Osnova 1. Kam míří platforma Windows Phone 2. Seznámení s univerzálními Windows Store aplikacemi 3. Budujeme sdílené jádro aplikace 4. Xamarin aneb vyvíjíme pro Android a ios v.netu
Cíl Aplikace návrhového vzoru MVVM napříč platformami 100% sdílení vrstev Model a View-Model mezi Windows Phone 8 Windows Store Xamarin.Android Xamarin.iOS
Základ architektury
Rozšíření architektury aplikace Windows 8.1 Windows Phone 8.1 Xamarin.Android Platform Specific Views Platform specific views Views Shared Adapters Shared Views Platform Specific Functionality Platform Specific Functionality Shared Portable Class Library Models View-Models Platform Functionality Abstractions
Osnova 1. Kam míří platforma Windows Phone 2. Seznámení s univerzálními Windows Store aplikacemi 3. Budujeme sdílené jádro aplikace 4. Xamarin aneb vyvíjíme pro Android a ios v.netu
Různé cesty k mobilní aplikaci JavaScriptové frameworky jquery Mobile Aplikační továrny Windows Phone App Studio AppMachine Zapouzdřovače (wrappery) Aplikace je tvořena zabudovaným webovým prohlížečem Runtime (běhová prostředí) Unity 3D Překladače zdrojového kódu Marmalade, Xamarin
Proč nativní aplikaci? Facebook experimentoval s HTML aplikací Zdroj: Xamarin
C# na 2,5 miliardách zařízení
Jak to funguje Zdroj: Xamarin
Cena a licence Xamarin se licencuje pro každého vývojáře a pro každou platformu zvlášť Edice Business $999 / rok Slevy pro studenty ($99 / rok)
Výsledná architektura aplikace Business logika je v rámci aplikace sdílená Uživatelské rozhraní je vždy implementováno v závislosti na platformě Zdroj: Xamarin
Množství sdíleného kódu Android ios Mac Windows Phone
Xamarin.Forms Framework na jednotnou tvorbu UI napříč všemi 3 platformami Univerzální ovládací prvky jsou přemapovány na nativní ovládací prvky Definice UI v XAMLu Podpora data bindingu
Shrnutí 1. Kam míří platforma Windows Phone 2. Seznámení s univerzálními Windows Store aplikacemi 3. Budujeme sdílené jádro aplikace 4. Xamarin aneb vyvíjíme pro Android a ios v.netu
Dotazy Mgr. David Gešvindr MCT MSP MCPD MCITP MSP gesvindr@mail.muni.cz