Vývoj napříč platformami vs. nativní mobilní aplikace: výběr správných nástrojů pro vývoj aplikace

Globální trh s mobilními aplikacemi, který by měl letos dosáhnout 77 miliard dolarů, prošel několika významnými změnami. Dnes je 99,6% všech chytrých telefonů provozováno na iOS nebo Android. Společnosti nyní považují mobilní aplikace za kanál pro zvyšování povědomí o značce, nikoli o vlastní firmu. S rostoucím přijetím řešení AI (zejména chatbotů) a poslů začnou odborníci dokonce zpochybňovat budoucnost mobilních aplikací! Uprostřed diskuse a chaosu je argument vývoje mobilní aplikace „nativní vs. meziplatformní“ teplejší než kdy jindy. Měla by vaše společnost investovat do nativní aplikace nebo udělat s multiplatformní aplikací? Pavel Vaskou, vedoucí oddělení vývoje aplikací pro iOS ve společnosti R-Style Lab, zdůrazňuje klíčové rozdíly mezi aplikacemi napříč platinami a nativními aplikacemi a vysvětluje, proč hybridní hybrid nemusí být dobrým rozhodnutím.

Mezisložkové vs. nativní aplikace: klíčové rozdíly

Nativní mobilní aplikace je aplikace, která splňuje požadavky konkrétního operačního systému pomocí své sady SDK (stejně jako hardwarové paměti, zařízení a dalších aplikací nainstalovaných v zařízení).

Výhody nativních mobilních aplikací zahrnují:

· Vysoký výkon;

· Dokonalý uživatelský zážitek;

· Větší viditelnost v obchodu s aplikacemi.

Meziplatformová aplikace je mobilní aplikace, která je kompatibilní s více operačními systémy, a proto může běžet na jakémkoli smartphonu nebo tabletu.

Existují dva typy mobilních aplikací napříč platformami:

· Nativní aplikace napříč platformami. Každý operační systém má sadu SDK a hlavní technologický zásobník (Java pro Android a Objective-C / Swift pro vývoj aplikací pro iOS). Zkušený mobilní prodejce však může vytvořit sjednocené rozhraní API spuštěné nad nativní sadou pro vývoj softwaru a použít stejnou kódovou základnu pro obě aplikace pro Android i iOS. Nativní cross-platformové aplikace jsou primárně postaveny s Xamarin a Appcelerator Titanium;

· Hybridní aplikace HTML5. Ačkoli jsou mobilní aplikace určeny pro chytré telefony a tablety, aplikační logiku zpracovávají backendové servery (buď na bázi prem nebo cloud). Protože sady SDK pro iOS i Android obsahují pokročilé webové komponenty, kvalifikovaní softwaroví inženýři často využívají WebView k vytváření částí GUI aplikace (Grafické uživatelské rozhraní) s HTML5, CSS a JavaScript. Nejoblíbenější framework pro vývoj hybridních aplikací je Apache Cordova (dříve známý jako PhoneGap).

Špičkové nástroje pro vývoj mobilních aplikací napříč platformami

Apache Cordova, Xamarin a Unity představují 70% celkového trhu nástrojů pro vývoj aplikací napříč platformami.

· Apache Cordova. Technologický zásobník Apache Cordova obsahuje HTML5, CSS3 a JavaScript. Rámec pro vývoj mobilních aplikací poskytuje přístup k vestavěnému akcelerometru smartphonu, úložišti souborů, GPS, kontaktním údajům, médiím a oznámením. Apache Cordova se může pochlubit několika výhodami včetně poměrně jednoduchého rozhraní API a možnosti využít jakýkoli rámec JS. Platforma však vizualizuje uživatelské rozhraní aplikace prostřednictvím webového prohlížeče (což může způsobit zpoždění). Také některé pluginy Cordovy jsou datovány, takže vývojáři často musí psát vlastní od nuly;

· Xamarin. Xamarin, postavený na platformách #C a .Net, umožňuje vývojářům opětovné použití kódu a zjednodušuje proces vytváření dynamických rozvržení v systému iOS. Určité součásti uživatelského rozhraní však nelze implementovat na MonoTouch a MonoDroid, protože se spoléhají na specifické funkce systému Android / iOS;

· Jednota. Unity je populární motor pro vývoj mobilních aplikací, který softwarovým inženýrům umožňuje vytvářet vysoce kvalitní 2D / 3D aplikace (většinou hry) pro různé platformy včetně Windows, iOS, Android a Xbox. Jednota (vedle Unreal Engine) je považována za jeden z nejlepších nástrojů pro prezentaci 3D obsahu. Řešení obsahuje spoustu volně použitelných pluginů a podporuje vývoj vlastních shaderů. Unity má stále strmou křivku učení a její kompilátory nejsou pro procesory ARM dobře optimalizovány.

Podle Pavla lze popularitu mobilních aplikací napříč platformami připsat rostoucí poptávce po mobilních aplikacích pro podniky (které brzy překonají dostupnou dev kapacitu o 500%) a nechvalně trendu Přineste si vlastní zařízení (do roku 2017 polovina zaměstnavatelé budou požadovat, aby zaměstnanci používali své vlastní pomůcky pro pracovní účely).

Pokud efektivní využití zdrojů a kratší doba nasazení převažují nad UX, má smysl přecházet napříč platformami.

Výhody a nevýhody vývoje mobilních aplikací napříč platformami

Mezi výhody vytváření aplikací napříč platformami patří:

· Kratší doba dev. Pokud si vyberete ten správný technologický zásobník a důkladně naplánujete svůj projekt, bude váš dodavatel schopen znovu použít až 80% původní kódové základny;

· Efektivita nákladů. Vytvoření nativní mobilní aplikace vás bude stát nejméně 10 000 dolarů - a zde se nemluví o klonu Clash of Clans. Vynásobte náklady dvěma (iOS a Android) a přidejte 30% (Android dev je dražší) a dostanete přibližné náklady na spuštění aplikace v App Store i Google Play;

· Vystavení většímu počtu uživatelů. Většina aplikací napříč platformami běží na platformách Android i iOS (stejně jako Windows, Linux, Tizen a dokonce Symbian);

· Aktualizuje synchronizaci. Ve světě, kde úspěšní vydavatelé aplikací uvádějí aktualizace až čtyřikrát za měsíc, mohou náklady na údržbu spotřebovat velkou část celkových výnosů z aplikací - a to je místo, kde vítězí vývoj napříč platformami.

A zde selhávají aplikace nezávislé na platformě:

· Problémy s výkonem. Výpočetní výkon chytrých telefonů je relativně malý. Na druhou stranu vykreslování těžkých komponent uživatelského rozhraní HTML5 / CSS vyžaduje hodně prostředků GPU / CPU a může prodloužit dobu odezvy aplikace;

· UX problémy. Splnění požadavků UX obou platforem může být výzvou. Apple je zvláště známý svými pokyny pro lidské rozhraní a odmítá mobilní webové stránky zabalené v nativních kontejnerech. Za chyby a špatný design uživatelského rozhraní však stojí 20% všech odmítnutí App Store; za předpokladu, že oslovíte spolehlivou společnost pro vývoj mobilních aplikací, vaše aplikace HTML5 pravděpodobně získá zelenou.

Výběr mezi nativními a multiplatformovými aplikacemi

Volba mezi platformou a nativní aplikací závisí na zamýšlené sadě funkcí aplikace a rozsahu aplikace (není určena žádná hříčka).

Pokud se má vaše mobilní aplikace stát vlastní činností (jako je fitness a zdravotnictví nebo populární aplikace pro morfování obličeje), je nativní samozřejmou volbou. Pro společnosti, které chtějí vytvořit čistě informativní aplikaci nebo aplikaci pro distribuci obsahu, může být vývoj napříč platformami právě tím, co nařídil lékař.

V roce 2012 Facebook, největší společnost na sociálních sítích na světě, nahradila svou aplikaci HTML5 nativním titulem pro iOS a označila své hybridní úsilí za „největší chybu“, jakou kdy udělali. Podle Micka Johnsona, bývalého produktového manažera pro iOS na Facebooku, rozhodnutí jít nativně pomohlo společnosti vyřešit tři hlavní problémy související s výkonem aplikace, včetně rychlosti spuštění, posouvání v News Feedu a klepnutí na obrázky uvnitř. Později v tomto roce společnost Facebook vydala nativní aplikaci pro Android. Společnost nemá nic proti HTML5 - technologie nakonec přece jen pohání jejich mobilní web. Nesplnilo to však požadavky společnosti na mobilní aplikace - a možná vaše požadavky nesplní. Proto byste se měli poradit se zkušeným dodavatelem a naplánovat strategii své mobilní aplikace s ohledem na očekávané pracovní vytížení a sadu funkcí.