Bez appiek si mnohí z nás už ani nevedia predstaviť svoju existenciu. Šikovní pomocníci na organizáciu času, komunikáciu, športové tréningy, privolanie taxíka či milión ďalších možností, ktoré môžeme neustále nosiť so sebou vo svojom smartfóne. Poďme však pekne poporiadku.

Čo to je mobilná appka?

Zjednodušene povedané softvérová aplikácia vytvorená špeciálne pre smartfóny, tablety alebo iné mobilné zariadenia, ktorá si vyžaduje inštaláciu, čím sa líši od bežného webu. V prvom rade vďaka nim dokážeme rozlíšiť smartfón od bežného telefónu.

Prvé náznaky

Trh s mobilnými aplikáciami bol v minulosti na žalostnej úrovni. Za prelomové funkcionality boli považované schopnosti ako prehrávanie multimediálnych formátov (MP3, MP4, …) alebo prehliadanie internetu pomocou primitívnych mobilných prehliadačov. Predinštalované aplikácie vo väčšine prípadov nebolo možné nijakým spôsobom aktualizovať či nebodaj k nim inštalovať ďalšie. Prvým náznakom k lepšiemu bol rok 2002, kedy na trh vstúpil primitívny smartfón od Blackberry. Obsahoval aplikácie ako kalendár, správy o počasí a v neposlednom rade prehliadače e-mailov.

Prelomový rok 2007, respektíve 2008

V roku 2007, konkrétne 7. januára, predstavil Steve Jobs na pódiu milovaný-nenávidený iPhone 2G (1. generácie). V tomto na vtedajšiu dobu kontroverznom mobilnom telefóne spojil internet, telefonovanie a populárny iPod. A hoci rovnaké schopnosti už ponúkal nejeden smartfón konkurencie, bol to práve iPhone, ktorý sa dodnes považuje za spúšťač toho, čo nasledovalo. V roku 2008 spustil Apple obchod s aplikáciami App Store a hneď v úvode ponúkal užívateľom až 500 aplikácií na stiahnutie. To odštartovalo revolúciu.

 

Aplikácie dnes

Zmodernizovaním smartfónov mohli vznikať aj náročnejšie aplikácie tak, ako ich poznáme aj dnes. Pridaním GPS modulu ste navigáciu mohli začať nosiť so sebou, hudobný iTunes nahradili streamovacie appky a vďaka neustále zväčšujúcej sa obrazovke vznikla aj nová mobilná platforma zobrazovania web stránok. Prakticky všetky súčasti smartfónu od mikrofónu, cez fotoaparát až po gyroskop sa stali pridanou hodnotou v porovnaní s webom a umožnili developerom rozmýšľať nad aplikáciami v širších súvislostiach. 

Niečo málo k teórii aplikácií

V okamihu, keď klient uvažuje o investovaní do mobilnej aplikácie, sa okamžite stretne s bariérou terminológie. Čo sú Natívne, Webové, Hybridné či Progresívne aplikácie? A čo je ešte dôležitejšie, ktorá z možností je najvhodnejšia pre žiadaný produkt alebo službu?

Webová aplikácia

Je aplikácia prístupná prostredníctvom webového prehliadača cez sieť ako napríklad internet. Ak by sme mohli daj jednoduchý príklad, Wikipédia je webová stránka (poskytuje informácie), zatiaľ čo Facebook je webová aplikácia, ktorá je interaktívna. Webové aplikácie nemusíte sťahovať – otvárate ich v prehliadačoch, kde sa automaticky načítajú (Chrome, Safari, Firefox, …). Nedokážu však fungovať v prípade, že nie ste pripojený k internetu, čím sa stávajú v prípade aplikácií najmenej praktickou, respektíve dostupnou možnosťou. 

Hybridná aplikácia

Hybridná aplikácia predstavuje kombináciu webovej a natívnej aplikácie – webová aplikácia zabalená v obale inštalovateľnej aplikácie. Takáto appka je z hľadiska časovej náročnosti vývoja vhodná pre menej komplexné aplikácie, keďže ju možno programovať pre obe platformy súčasne (jeden kód, dve platformy). V prípade zložitejších funkcionalít sa však tento časový benefit môže vytrácať, keďže funkcionality ako napríklad používanie kamery nemusia byť dostupné, prípadne ich je nutné implementovať zvlášť pre každú platformu. Hybrid môže ale zároveň nemusí vyžadovať k svojmu chodu pripojenie na internet a z hľadiska plynulosti – výdrži batérie sa len poťažne doťahuje na natívnu appku.

Cross-platformová aplikácia

Cross-platformová appka je podobne ako hybridná appka programovaná jedným kódom pre obe platformy. Je vhodná na konceptovanie jednoduchých aplikácií, avšak pri využívaní zložitejších funkcionalitách je opäť nutné zanevrieť na zdieľaný kód pre obe platformy a doprogramovať jednotlivé súčasti zvlášť pre Android a zvlášť pre iOS. Je dôležité podotknúť, že toto nie-je webová aplikácia – v appke sa využívajú natívne prvky. Napriek tomu je však plynulosť aplikácie horšia než v prípade natívnej appky.

Progresívna aplikácia

Čoraz populárnejším riešením je progresívna aplikácia, ktorú si užívateľ dokáže stiahnuť do telefónu, avšak nie prostredníctvom obchodov s aplikáciami (App Store, Google Play) ale len za pomoci prehliadača. Po otvorení webovej stránky v prehliadači je nutné zvoliť možnosť uloženia stránky na plochu. Progresívna aplikácia si následne stiahne potrebné súčasti a je prístupná užívateľovi aj v prípade, že je offline.

 

Natívna aplikácia

Keď sa povie mobilná aplikácia, bude to najskôr natívna aplikácia. Je totiž najpoužívanejšia a ponúka najviac možností. Vytvára sa v špeciálnych programovacích jazykoch pre platformy iOS aj Android. Je veľmi rýchla a dokáže ľahko spolupracovať s funkciami smartfónu (fotoaparát, GPS, akcelerometer, gestá prstom atď.) Interakciu dokážu nadviazať s užívateľom napríklad aj vďaka push notifikáciám. Vyžaduje si nezávislé 

 

Jeden z uhlov pohľadu

Testovanie

Okrem vývoja by mal každý developerský tím venovať čas a energiu testovaniu aplikácie, pričom do tohto testovania by mali byť v ideálnom prípade zapojený ako vývojári tak i bežní, menej-technickí užívatelia (testovanie UX – user experience). Z pohľadu vývojára je nutné kontrolovať, či aplikácia zobrazuje grafické prvky tak ako má, či všetky tlačidlá a prekliky fungujú správne a či zobrazené alebo skryté dáta (texty, čísla, dáta potrebné k chodu aplikácie atď.) korešpondujú s tým, čo sa má v danom okamihu v aplikácii nachádzať.

Aplikačné rozhranie – API

Pokiaľ je na chod aplikácie nutné použivať internet a teda pracovať s dátami, ktoré sú umiestnené na vzdialenom serveri, je viac než isté, že aplikácia bude používať takzvané aplikačné rozhranie servera. Predstaviť si ho môžete ako spojku medzi mobilnými zariadeniami a serverom (databázou), ktorá nám umožňuje získavať a posielať dáta (fotografie, správy, polohu) na server prostredníctvom internetu. Táto spojka sa programuje na strane servera (Back-end) a mala by byť univerzálna – iOS aj Android využívajú do veľkej miery to isté API.

 

Operačný systém

Vývoj aplikácii sa v súčasnosti orientuje na dve najpopulárnejšie platformy. Zatiaľ čo v začiatkoch, okolo roku 2009, dominoval Symbian, dnes si trh rozdelili dva najsilnejší hráči. Android, ktorý patrí Googlu a iOS, ktorý je neodmysliteľnou súčasťou Apple zariadení.

iOS

Tento operačný systém je používaný výhradne na Apple zariadeniach ako iPhone a iPad. Apple tým dokáže oveľa lepšie kontrolovať funkcie svojich zariadení a aj rýchlejšie reagovať v prípade zmien. Vďaka tomu si už dlhé roky drží lojálnu základňu zákazníkov a s tým spojený aj pevný podiel na trhu.

Android

Android môžeme pokojne označiť za otvorenejšiu platformu. Má otvorený zdrojový kód, preto je prístupný pre viacero výrobcov mobilných zariadení ako Samsung, Huawei, LG, HTC a i. Toto je aj dôvodom väčšinového podielu na trhu. Zároveň ponúka programátorom citlivejšie zásahy do systému, zatiaľ čo iOS zostáva podstatne uzavretejší. 

Môžu tieto systémy spolupracovať?

Bohužiaľ nie. Medzi aplikáciami každého z týchto zariadení nie je žiadne prekrývanie. To znamená, že natívne aplikácie pre systém iOS sa nebudú zobrazovať na telefónoch s Androidom a naopak. Aj keď vidíte napríklad Snapchat alebo Instagram bežiaci na oboch telefónoch, aj keď vyzerajú veľmi podobne, boli skutočne postavené úplne samostatne.

Kvantita vs. kvalita

Čísla hovoria jasne: 

Aplikácie pre Android: 2,8 milióna
Aplikácie pre iOS: 2,2 milióna

Mohlo by sa zdať, že v tomto segmente je Android líder. Dokonca sa naň začína orientovať čoraz viac programátorov, ale všeobecne nájdete v App Store menej nekvalitných aplikácii než na Google Play.

Dôvodov je hneď niekoľko:

  • prísnejšia kontrola schvaľovaných aplikácii na iOS. Kontrolóri neraz vracajú neschválené aplikácie developerom aj kvôli menej dôležitým detailom
  • vyšší poplatok za možnosť vydávania appiek: iOS – 100 dolárov ročne, Android – 25 dolárov jednorázovo (odrádza amatérov)
  • v prípade vývoja v softvéri Xcode nutnosť vlastniť Mac

 iOS má svoju dominanciu najmä v appkách pre herný priemysel, najmä čo sa týka ich relatívne mladej služby Apple Arcade, ktorá umožňuje užívateľom za mesačný poplatok 5 EUR hrať najnovšie exkluzivity dostupné len na iOS. Platí však, že pokiaľ je aplikácia aspoň ako tak populárna, je veľká šanca, že ju nájdete dostupnú ako na Androide tak i na iOS.

Dostupnosť

Je všeobecne známe, že iPhony vynikajú nielen svojou kvalitou, ale aj veľmi vysokou cenou. Dostupnejší Android má pre vývoj aplikácie oveľa väčší zmysel, pretože dokáže osloviť širšiu základňu používateľov. Určite však odporúčame vytvárať obe verzie naraz. 99,7% trhu je istota 🙂

Aktualizácie

Dostávame sa k tomu, čo sme už spomínali. Aktualizácie pre iOS sú vďaka zariadeniam konzistentné. Najnovšiu verziu iOS 13 nájdete podľa októbrových štatistík až na 55% zariadeniach, pričom spolu s iOS 12 tvoria až 93% podiel všetkých iOS zariadení. Predposlednú verziu Androidu 9.0 Pie by ste našli na 23% zariadení, pričom štatistiky najnovšieho Androidu 10 zatiaľ nie sú k dispozícii. Update systému je vďaka roztrieštenosti výrobcov komplikovanejší. Pre vývoj aplikácii síce najnovšia verzia operačného systému nezohráva kľúčovú úlohu, je však veľkou výhodou.

Tak ktorý teda?

Jednotlivé systémy majú svoje špecifiká a hodnotiť ich môžeme aj z ďalších pohľadov. Napríklad zobrazovanie máp, šetrenie batérie, customizácia, cloudové služby a rovnako aj náročnosť samotného programovania. Ak sa klient chce rozhodnúť pre nejakú z platforiem, musí si sám zvážiť všetky pre a proti. Všeobecne však odporúčame vytvárať aplikáciu ako pre iOS tak i Android. Či už to bude natívne, progresívne alebo hybridne. Aplikáciou dostupnou len pre jednu platformu pôsobí produkt nedokonalo – neprofesionálne a zbytočne prichádza o potenciálnych užívateľov.