multiplatformni vyvoj
TRANSCRIPT
Obecné Multiplatformní vývoj umožňuje jednoduchý, rychlý a škálovatelný
vývoj mobilních aplikací pro různé platformy pomocí jednoho multiplatformního kódu zkompilovaného podle potřeb dané platformy.
Výhodou multiplatformního vývoje je možnost sdílení kódu napříč všemi platformami, snadné vytvoření nativního UI dodržující standardy platformy a jednotnost designu aplikace.
1
Xamarin Xamarin patří v současnosti mezi jedno z nejpoužívanějších
multiplatformních řešení. Xamarin je postaven na .NET a stojí za ním v současné době společnost Microsoft.
V nové verzi Visual Studia je Xamarin plně integrovaný.
2
SrovnáníVýhody:
Podpora Xamarin.forms - předdefinované nativní UI komponenty pro Android, iOS
Podpora funkcionalit nativní aplikace (Android fragmenty, iBeacons)
Snadná integrace do cloudu, zejména Windows Azure
Xamarin test cloud s dostupností mnoha zařízení pro testování aplikace
Objektově-orientovaná technologie postavená na C#, což umožňuje rychlejší běh aplikací a integraci Objective-C stávajících metod
Vhodný pro větší projekty a aplikace
3
Nevýhody:
Podpora Xamarin.forms - předdefinované nativní UI komponenty pro Android, iOS
Podpora funkcionalit nativní aplikace (Android fragmenty, iBeacons)
Snadná integrace do cloudu, zejména Windows Azure
Xamarin test cloud s dostupností mnoha zařízení pro testování aplikace
Objektově-orientovaná technologie postavená na C#, což umožňuje rychlejší běh aplikací a integraci Objective-C stávajících metod
Vhodný pro větší projekty a aplikace
React Native React Native je javascriptový multiplatformní framework vyvinutý
společností Facebook. Vývoj je založen na Javascriptu a React.js knihovně pro tvorbu uživatelských rozhraní.
Příklad implementace mobilního řešení Facebook app, Facebook messenger
4
SrovnáníVýhody:
Jednodušší tvorba nativního UI Integrace nativních komponent
podobných jazyku Objective C Podpora asynchronního
zpracování
5
Nevýhody:
Poměrně novodobý framework s menší komunitou vývojářů a podpůrné dokumentace
V současnosti nepodporuje širší množství knihoven nebo rozšíření pro podporu více nativních funkcionalit
PhoneGap PhoneGap je multiplatformní framework založen na technologiích
HTML5 a Javascript. Za vývojem stojí společnost Adobe.
6
SrovnáníVýhody:
Možnost vývoje v HTML5, CSS, Javascript
Akcelometr na měření výkonu Podpora geolokace Jednoduchá práce se Storage v
mobilním zařízení
7
Nevýhody:
Více sjednocený design UI pro iOS a Android platformu
Pomalejší výkon oproti konkurenčním JS frameworkům
HTML5 Vývoj mobilní aplikace pomocí HTML5 jako responzivní verze
webového rozhraní.
Příklad implementace mobilního řešení Google Docs
8
SrovnáníVýhody:
Rychlý vývoj aplikace Není potřebná optimalizace pro
různé platformy
9
Nevýhody:
Design jako webová aplikace Rychlost dle připojení k
internetu Chybějící nativní funkcionalita
(offline režim, push notifikace…)
Nativní vývoj iOS (Swift, Objective C) Android (Java) Windows Phone (.NET)
10
SrovnáníVýhody:
Nativní prvky pro každou platformu Rychlý výkon mobilních aplikací Lepší optimalizace pro různé
tabletové a mobilní zařízení
11
Nevýhody:
Delší doba vývoje Návrh uživatelského rozhraní
pro každou platformu zvlášť
Doporučení Navrhované řešení závisí na požadavcích implementace a finální funkcionalitě
mobilní aplikace. Pokud se jedná o jednoduchou, menší aplikaci, která má většinu logiky zpracované na straně serveru a na straně klienta přijímá pouze data je vhodným řešením implementace multiplatformní framework.
Na aplikace, které jsou datově a aplikačně nenáročné doporučujeme React Native framework.
Aplikace, které zpracovávají větší množství dat a je třeba je optimalizovat z pohledu výkonu, ale mají jednodušší a nenáročné uživatelské rozhraní, více jednotné pro obě platformy je vhodným řešením Xamarin framework nebo PhoneGap framework.
Pokud se však jedná o aplikaci, která zpracovává logiku i na straně klienta, dělá výpočty, je datově náročná nebo pracuje s citlivými hodnotamy je vhodnou volbou nativní řešení. Také z pohledu správy a přístupu velkého počtu uživatelů v jednom čase nebo vykreslování většího množství dat v reálném čase.
12