Vývoj mobilní aplikace – co všechno byste měli předem vědět?

Chytrý telefon spolu s mnoha užitečnými aplikacemi patří v současné době mezi "základní výbavu" mnoha lidí. Chcete-li se pustit do jejich vývoje a vytěžit z vašeho podnikání maximum, přečtěte si následující článek, v němž se dozvíte, co všechno byste před vývojem měli vědět.
Vývoj mobilní aplikace

Chytrý telefon spolu s aplikací je nástrojem, který uživatelům umožňuje kdykoliv pohodlně komunikovat, objednávat, platit aj. V současné době je naprostým „must-have“, bez nějž se mnozí již neobejdou. Podstatná je však ona zmíněná aplikace, neboť právě ta chytrému telefonu dodává dodatečné funkcionality či vylepšení. V dnešním článku se podíváme na vybrané základní aspekty vývoje mobilních aplikací. Tak čtěte dále!

Mobilní aplikace – co to je a proč se do jejího vývoje pustit

Mobilní aplikací rozumíme program (resp. software) běžící na mobilním zařízení, tedy v mobilním telefonu či tabletu. Aplikace přitom mohou fungovat na různých operačních systémech; nejčastěji se můžeme setkat s následujícími:

  • Android: operační systém pocházející „z dílny“ giganta Google, který je v současnosti nejrozšířenějším řešením,
  • iOS: software vyvinutý firmou Apple, který se používá v mobilních telefonech iPhone a tabletech iPad. 

Aplikace mohou nabývat nejrůznějších podob – od her, přes komunikační platformy až po nákupní aplikace pro e-shopy. Ať už tedy provozujete jakýkoliv byznys, měli byste vývoj mobilní aplikace zvážit, neboť se jedná o velice perspektivní odvětví, jehož tržby se jen mezi lety 2014-2018 téměř zčtyřnásobily. Navíc neustále roste počet denních – a potažmo ročních – stažení aplikací (viz Graf 1) a rovněž bylo zjištěno, že uživatelé průměrně aplikace otevřou více než dvakrát denně (viz Graf 2).

Počet ročních stažení mobilních aplikací

Graf 1: Počet ročních stažení mobilních aplikací, 2016-2020; zdroj: Statista.com

Frekvence otevírání mobilních aplikací denně

Graf 2: Frekvence otevírání mobilních aplikací denně; zdroj: Statista.com

Mobilní aplikace jsou mocným nástrojem, který dokáže výrazným způsobem měnit chování spotřebitelů, obchodní modely firem, ale i celá odvětví. Jako příklad lze uvést službu Spotify, která značně ovlivnila svět hudby, či mobilní aplikaci dopravní společnosti Uber, díky níž si lze zajistit odvoz raz dva. Význam mobilních aplikací je tedy nepopiratelný.

Hybridní a nativní vývoj aplikací

Vývoj mobilní aplikace - hybridní vs. nativní vývoj

Vývoj aplikace může probíhat buďto hybridně, kdy aplikace pro svůj běh využívá jádro internetového prohlížeče, či nativně, kdy se užívá přímo jádro mobilního zařízení. Z toho jednoznačně vyplývá, že nativní aplikace budou dosahovat vyššího výkonu, je však třeba počítat s delším vývojem.

Nativní vývoj zvažte především v těchto případech:

  • chcete, aby aplikace běžela plynule i na starších modelech,
  • kladete velký důraz na uživatelskou přívětivost aplikace,
  • aplikace bude obsahovat prvky náročné na výkon (např. animace),
  • vyvíjíte aplikaci typu hra, rozšířená realita atp.

Naopak hybridní vývoj se vyplatí, pokud:

  • chcete rychle otestovat nápad, 
  • chcete sdílet design a funkcionalitu s webovou stránkou,
  • aplikace není výpočetně náročná,
  • aplikace nevyžaduje rozsáhlé využívání senzorů telefonu (kamery, mikrofonu apod.).

Finální rozhodnutí o konkrétním typu aplikace má vliv především na celkové náklady spojené s vývojem.

Průběh vývoje mobilní aplikace

Způsobů, jak se pustit do vývoje mobilní aplikace, je samozřejmě celá řada. Níže si pro ilustraci uvedeme alespoň příklad, jak takový průběh může vypadat.

1. Potvrzení konceptu

Vývoj mobilní aplikace - potvrzení konceptu

Ještě před samotným vývojem aplikace je potřeba udělat si průzkum trhu a zjistit, zda o produkt bude vůbec zájem, resp. zda bude mít dostatečné publikum. Tím, že zjistíte odezvu uživatelů na nabízenou aplikaci s předstihem, budete schopni ušetřit nemalé částky.

Jak na to? Můžete například spustit PPC kampaň na právě vznikající aplikaci vedoucí na jednoduchou landing page, skrze níž se uživatelé budou moci registrovat k obdržení notifikace, že je aplikace již ke stažení. 

2. Definice MVP

Vývoj mobilní aplikace - definice MVP

MVP (z angl. minimum viable product) je produkt disponující pouze nejmenší možnou funkcionalitou, který je však zároveň plně použitelný a umožňuje získat zpětnou vazbu od zákazníků potřebnou k dalšímu vývoji. K jeho definování se přistupuje tehdy, má-li aplikace teprve hrubé obrysy a nejste si jistí její přidanou hodnotou.

Jak na to? Řešením může být tzv. design sprint. Jedná se o časově omezený úsek (týden či více týdnů po sobě), během nějž vedete workshopy se všemi zainteresovanými subjekty, vytváříte prototypy a zároveň testujete zpětnou vazbu. 

3. Ověřený prototyp

Vývoj mobilní aplikace - ověřený prototyp

Pokud už sami máte jasno, jak by měla aplikace vypadat, ale zajímá vás také, co si myslí uživatelé, vytvořte interaktivní prototyp ztvárňující finální produkt. Ten otestujte s potenciálními zákazníky a získejte další zpětnou vazbu.

4. Vývoj MVP

Vývoj mobilní aplikace - vývoj MVP

Nyní byste měli být ve fázi, kdy máte jasno, co se má vytvořit, a kdy jste si jistí přidanou hodnotou aplikace a návratností investice. Nezbývá tedy nic jiného, než se pustit do samotného vývoje a činností s ním souvisejících, jako jsou plánování releasů, účast na reviews, schvalování změn a úprav, přebírání práce aj.

5. Iterativní rozvoj

Vývoj mobilní aplikace - release

Tím, že vypustíte aplikaci do světa, práce nekončí, nýbrž začíná. Po vydání aplikace je třeba hodnotit její výkon, chování uživatelů, plánovat nové releasy a další. Nebudete-li brát tento fakt v potaz, velice rychle a snadno vás předběhne některý z konkurentů.

Používané frameworky k vývoji mobilních aplikací

Stejně jako způsobů, jak přistupovat k vývoji aplikace, existuje i celá řada frameworků, jež se k vývoji používají. V následujících řádcích zmíníme populární trio – Xamarin, React Native a PWA.

Xamarin 

Xamarin je framework k vývoji mobilních aplikací, jenž byl vydán v roce 2011 společností Novell, v roce 2016 jeho správu však převzal Microsoft. Jedná se o open-source nástroj umožňující tvorbu aplikací jak pro Android, tak pro iOS či Windows. Jde tedy o multiplatformní řešení, kdy není třeba vyvíjet tutéž aplikaci vícekrát, ale lze pouze sdílet její kód (resp. většinu kódu) mezi projekty pro různé platformy.

Xamarin logo

K vývoji se používá programovací jazyk C#, během buildu projektu pak dochází ke kompilaci do strojového kódu v případě iOS, resp. do Intermediate Language (IL), který je za běhu kompilován Mono frameworkem, v případě Androidu. Díky tomu výsledná aplikace vypadá a chová se tak, jako by již původně byla napsána v nativním jazyce pro danou platformu. Typickým vývojovým prostředím, v němž programátoři pracují, je celosvětově nejpoužívanější Microsoft Visual Studio disponující bohatým editorem, nástroji pro debugging a dalšími, či XCode od Applu.

Za povšimnutí rozhodně stojí i výkon aplikací vyvinutých prostřednictvím Xamarinu, které se mohou pyšnit nejrychleji běžícím kódem jak na Androidu, tak iOS. Kolem frameworku se navíc soustřeďuje rozsáhlá komunita vývojářů, jež jsou v případě potřeby k dispozici.

Xamarin si pro výkonnost aplikací oblíbila celá řada známých společností, jako jsou například BOSCH, Slack, Pinterest, Honeywell a další.

Aplikace na Xamarinu

Zdroj: Brainhub.eu; upraveno

React Native

React Native je, stejně jako Xamarin, open-source framework pro vývoj multiplatformních mobilních aplikací. Jedná se o vývojově mladší řešení, které spatřilo světlo světa v roce 2015, a za jeho vznikem stojí světoznámá společnost Facebook, jejímž cílem bylo umožnit využití její populární knihovny React nejen k tvorbě webových stránek v HTML, ale také aplikací obsahujících nativní prvky Androidu, iOS a dalších platforem.

Framework umožňuje sdílení kódu (až 90 %) mezi různými platformami, což mimo jiné znamená výraznou úsporu času i finančních prostředků. 

React Native logo

Kódování probíhá v jednom z nejpopulárnějších programovacích jazyků – JavaScript, díky čemuž není třeba, aby weboví vývojáři studovali nové technologie, ale mohou rovnou začít tvořit na nové platformě. A platí to i obráceně – vývojářům, kteří vyvíjejí mobilní aplikace v React Native, stačí jen málo k tomu, aby se stali vývojáři webovými. Tento fakt přispěl k tvorbě živé komunity kolem tohoto frameworku. 

Jak již bylo výše zmíněno, React Native je v podstatě obdobou Xamarinu, nalezneme mezi nimi však několik rozdílů. Nejvýraznějším z nich je to, že kód aplikace v Xamarinu je před spuštěním kompilován do jazyka cílové platformy, zatímco React Native je za běhu interpretován, což může (v některých případech však nemusí) snižovat výkon aplikace.

React Native vs. Xamarin

Nicméně, v jiných oblastech React Native boduje. Je to především inovativní, na komponentách založené paradigma Reactu, které po jeho ovládnutí umožňuje rapidní vývoj dynamického uživatelského rozhraní, nespočet zabudovaných a podrobně zdokumentovaných komponent, rozsáhlý archiv komunitních knihoven připravených pro okamžitou integraci požadované funkcionality či funkce hot reloading, která umožňuje znovu načíst pouze modifikovanou část kódu, což výrazně urychluje proces vývoje.

Rozdílů samozřejmě existuje mnohem více, zde jsme uvedli pouze vybrané z nich. Výběr konkrétního frameworku záleží na mnoha aspektech, pokud bychom však nahlíželi na problematiku obecně, určitým kritériem výběru by mohla být popularita jednotlivých řešení.

Jak reflektuje následující graf vygenerovaný nástrojem Google Trends, přinejmenším z hlediska hledanosti frameworků je o něco populárnější React Native. Mezi známé společnosti využívající framework React Native patří vedle Facebooku také například Skype, Instagram, Tesla či Walmart.

Xamarin vs. React Native - popularita

Zdroj: Trends.google.com

Progresivní webová aplikace (PWA)

Pod pojmem progresivní webová aplikace rozumíme aplikaci kombinující přednosti běžné webové stránky a nativní aplikace na dané platformě. Tyto aplikace hojně využívají funkce moderních webových prohlížečů, díky kterým lze webové aplikace rozšířit o funkcionality obsažené v nativním operačním systému. Jedná se o řešení vhodné především pro ty, které celkově odrazuje složitost vývoje mobilních aplikací a s ním související vyšší náklady.

PWA

Mezi hlavní charakteristiky PWA patří následující:

  • Progresivita: progresivní webové aplikace jsou vytvořeny se zásadou postupného načítání obsahu, a proto fungují všem uživatelům bez ohledu na používaný prohlížeč.
  • Responzivita: aplikace se dokáže přizpůsobit velikosti displeje či monitoru, a zobrazuje se tak korektně na každém zařízení.
  • Možnost instalace: aplikaci lze nainstalovat přímo z prohlížeče a připnout v podobě ikony. 
  • Nezávislost na konektivitě: aplikace je funkční i v offline režimu či při špatném připojení.
  • Aktuálnost: aplikace pracuje vždy s aktuálními daty.
  • Schopnost pracovat s HW: aplikace může využívat nástroje, jako jsou GPS geolokace, kamera, mikrofon aj.

Vzhledem k tomu, že progresivní webové aplikace jsou rozšířením běžných webových stránek, lze k jejich vývoji použít libovolné webové technologie, knihovny a frameworky – například Angular, React či Vue, případně čisté HTML/JS/CSS. 

Stejně jako v předešlých dvou případech, i zde uvedeme několik společností, které využívají právě toto řešení; jedná se například o Spotify, AliExpress, Starbucks či Washington Post.

Kolik stojí vývoj mobilní aplikace?

Vývoj mobilní aplikace - cena

Kalkulace nákladů na vývoj mobilní aplikace je poněkud složitější a jejich přesnou výši většinou nelze určit dopředu, neboť závisí na celé řadě faktorů. Těmi jsou:

  • Dostupnost

V prvé řadě je potřeba specifikovat to, na jakých zařízeních a uživatelských systémech má být aplikace dostupná. Roli hraje i volba verzí jednotlivých systémů, přičemž je samozřejmě ideální soustředit se na verze nejnovější.

  • Rozsah funkcí

Zajisté netřeba zmiňovat, že výrazným faktorem majícím vliv na cenu aplikace je rozsah a složitost jejich funkcí. Základní aplikace se často rozšiřují o funkce, jako jsou zprávy nebo chat, trackování aktivity, push notifikace, doplňkové nákupy v aplikaci, integrace sociálních sítí aj.
Vhodným řešením je nejprve vytvořit základní verzi aplikace s těmi nejdůležitějšími funkcemi, a v dalších fázích projektu přidávat funkce rozšiřující.

  • Design

Designem se rozumí nejen vzhled uživatelského rozhraní (UI; user interface), ale především celkový design produktu z hlediska funkčnosti a navigace – řeč není o ničem jiném než o uživatelském prožitku (UX, user experience).

V ideálním případě by měla tato fáze vývoje začít sérií tzv. design sprintů, což jsou týdenní intenzivní bloky zaměřené na UX design, na jejichž konci vyvstane ideální a uživateli otestovaný prototyp aplikace.
Samotné vizuální zpracování aplikace pak může vycházet pouze ze základního designu systému, případně lze implementovat i design na míru či jiné náročné prvky, jako jsou například animace či vykreslování dat v reálném čase.

Vývoj mobilní aplikace - náklady, design

  • Manipulace s daty

Bude-li výsledná aplikace umožňovat nahrávání videí, fotek či zvuku, je třeba do celkové kalkulace zahrnout i náklady spojené s cloudovým úložištěm dat, které se v případě jejich velkého objemu může značně prodražit. Každopádně má smysl investovat do kvalitního úložiště, neboť právě to přímo ovlivňuje rychlost ukládání a stahování dat.

Pokud bude aplikace nakládat s citlivými údaji, je samozřejmě nezbytné pohlédnout se po takovém cloudovém řešení, jež garantuje bezpečnou úschovu.

  • Správa

Je-li třeba do mobilní aplikace integrovat systém na správu obsahu (CMS; Content Management Systém) či uživatelské databáze (CRM; Customer Relationship management), dojde k dalšímu nárůstu nákladů.

  • Vývojářský tým

Od požadovaných funkcí a designu se často odvíjí počet členů vývojářského týmu. Už samotný základní tým čítá zhruba pět až šest osob, a to projektového manažera, UX designéra, minimálně dva vývojáře a testera, případně i backend vývojáře. Vliv na výši nákladů má samozřejmě i lokace a cenová politika vývojářské firmy.

Vývoj mobilní aplikace - náklady, vývojářský tým

  • Testování

Testování je položka, na které se rozhodně nevyplatí šetřit, neboť náprava chyb vzniklých z důvodu nedostatečného otestování může dosahovat velmi vysokých částek. Pečlivé testování značně eliminuje riziko vzniku chyb a urychluje celkový vývoj aplikace.

  • Podpora a další vývoj

Se spuštěním aplikace práce na jejím vývoji nekončí; naopak je už na začátku potřeba počítat s dlouhodobými výdaji na její údržbu a úpravy, správu cloudu a dat, tvorbu updatů či na uživatelskou podporu. V neposlední řadě lze zahrnout i výdaje související s propagací produktu.

Níže si alespoň pro představu uvedeme, zhruba kolik hodin je potřeba k vývoji základní, středně komplexní a náročné aplikace. Co se hodinových sazeb vývojářů týče, záleží ve velké míře na regionu působnosti. Zatímco v USA, Kanadě či v Austrálii činí sazba v rozmezí 50-150 USD, ve východní Evropě (včetně ČR) je to v průměru 25-50 USD.

Odhad počtu hodin k vývoji aplikace
Zdroj: vlastní zpracování na základě dat Pixelfield.cz
 

Hodinové sazby vývojářů ve světě

Zdroj: Cleveroad.com

Interní vývoj, či agentura?

Na tuto otázku nelze odpovědět zcela jednoznačně, neboť každý projekt je jiný a svým způsobem unikátní. Významnou úlohu zde však hraje typ podnikání

Jedná-li se o technologickou firmu, pro niž aplikace představuje jádro podnikání, která objemem práce dokáže stabilně zaměstnat tým vývojářů a management a která disponuje volnými financemi v řádu milionů, pak stojí za zvážení interní vývoj.

Jde-li však o jiný typ firmy, jejímž jádrem podnikání není samotná aplikace a jež chce mít možnost pracovat flexibilně s náklady, pak je určitě vhodnější volbou obrátit se na agenturu – v ideálním případě takovou, která umí aplikace vyvíjet prostřednictvím vícero frameworků, neboť tak lze lépe reflektovat potřeby jejich vývoje, resp. není nutno spoléhat se pouze na jedno řešení. 

Třeba my v Aira GROUP vyvíjíme aplikace s využitím všech tří výše zmíněných řešení. Potřebujete-li s vývojem pomoci, určitě se neváhejte na nás obrátit. Máme opravdu bohaté zkušenosti, o čemž svědčí i mnoho spokojených klientů.
 

Vylepšete svůj Outsourcing IT

napište nám

Přidat komentář