Vývoj mobilných aplikácií na mieru: Aké slová musíte poznať?
Dostali ste skvelý nápad na mobilnú aplikáciu ? Alebo potrebujete zoptimalizovať interný proces vo vasej firme ? Pravdepodobne ste začali hľadať spôsob, ako na to. Pri otvorení prvého článku ste si možno museli overiť, či je v slovenčine. Áno, zo začiatku sa môžu všetky tie termíny zdať zložité. Preto sme si pre vás pripravili krátky slovník vývoja mobilných aplikácií, aby ste sa ľahšie vymotali z tohto bludiska.
TYPY APLIKÁCIÍ
Mobilné aplikácie fungujú na platformách, ako napríklad iOS či Android. Z tohto hľadiska rozlišujeme niekoľko druhov aplikácií:
1. Natívne aplikácie
Aplikácie navrhnuté špeciálne na jednu platformu. Vďaka tomu sú rýchlejšie a ľahšie spolupracujú s funkciami smartfónu (fotoaparát, GPS…).
2. Hybridné a cross-platformové aplikácie
Cross-platformové a hybridné aplikácie spája možnosť „zdieľania” kódu, čiže programovania pre 2 platformy naraz.
V porovnaní s natívnymi aplikáciami, cross-platformový vývoj trvá kratšie a je menej nákladný.
Interné aplikácie alebo aplikácie pre verejnosť
- Interné aplikácie (B2B / business to business) slúžia firmám na prepojenie s inými firmami, klientmi alebo zamestancami danej firmy. Aj keď niektoré môžu byť dostupné verejnosti, väčšina sa používa výhradne v rámci firmy — napr. na ich stiahnutie je potrebné prihlásenie s firemným emailom a heslom.
- Aplikácie pre verejnosť (B2C / business to client) poznáme všetci. Jedná sa o Facebook, Instagram, YouTube… Pravdepodobne väčšina, ktoré máte stiahnuté v mobile. Sú dostupné vo verených obchodoch s aplikáciami ako Google Play, App Store, či AppGallery (pre zariadenia Huawei).
DIZAJN
Ak ste sa už rozhodli pre platformu vašej aplikácie, je čas vytvoriť jej dizajn. Aké funkcie bude mať vaša aplikácia? Čo bude môcť používateľ s ňou robiť? Ako bude vyzerať?
1. UX
User Experience, v preklade užívateľská skúsenosť, sa zaoberá umiestnením ovládacích prvkov na obrazovkách a interakciami používateľa v aplikácii. Zámer UX je docieliť, aby bol zážitok ktorý používatelia majú počas využívania aplikácie čo najpríjemnejší a najefektívnejší.
Niektorí dizajnéri si prvé náčrty aplikácií wireframes kreslia, prekvapivo, na papier. Ich zmyslom je porozumieť, kam umiestniť jednotlivé funkcie, aby mal užívateľ čo najpríjemnejší a najefektívnejší zážitok (áno, UX dizajn!).
Tvorba wireframes je jedným z prvých krokov pri návrhu celkového dizajnu aplikácie.
2. UI Dizajn
Zatiaľ čo UX sa zameriava na funkčnosť, User Interface (užívateľské rozhranie) na vzhľad aplikácie. Všetko, čo používatelia vidia, je UI dizajn. Sú to napr. vizuálne štýly textu, tlačidiel, farebné kombinácie typické pre značku, ikonky, tiene, atď).
3. Prototypy
Prototypy sú funkčné simulácie, ktoré obsahujú dynamické prvky a animácie. Akoby sme použili stroj času a presunuli sa do budúcnosti, keď je aplikácia už na svete. Hlavným účelom prototypov je testovanie — prototypy dokážu odhaliť posledné chyby v dizajne, či objaviť priestory na vylepšenie ešte predtým, než sa vôbec začne písať nejaký zdrojový kód.
Tvorili ste niekedy prezentáciu v PowerPoint? Tvorenie prototypu by sa k tomu sčasti dalo prirovnať. Netreba písať kód, stačí len rozumieť potrebám používateľa.
VÝVOJ
Keď je aplikácia nadizajnovaná, a klient jes dizajnom spokojný, na rad prichádza samotný vývoj MVP.
0. MVP (Minimal Viable Product)
MVP by sme mohli opísať ako “kontrolu”, či prvotnú validáciu produktu. Má vývoj určitej aplikácie zmysel? To zistí práve MVP, najjednoduchšia verzia aplikácie. Má dostatok funkcií, aby zaujala používateľov, ale nie je kompletná. Jej cieľom je získať spätnú väzbu. Čo vylepšiť, čo odstrániť alebo to najdôležitejšie — či vôbec pokračovať.
Vývoj MVP produktu je typický pre B2C (aplikácie pre verejnosť), no v istých podmienkach má zmysel aj pri vývoji interného produktu v rámci jednej či viacerých firiem.
1. Backend
Backend je “zákulisie aplikácie”, inak povedané, úložisko dát (databáza), alebo všetok kód, ktory sa vykoná mimo smartfónu. Tradične sa využíva na zdieľanie dát naprieč rôznymi zariadeniami, alebo jednoducho na zvýšenie bezpečnosti, výkonnosti a stability aplikácie.
2. Frontend
Všetko, čo používatelia vidia a interagujú s tým — v našom prípade je to mobilná aplikácia. Frontend sa zjednodušene dá chápať ako UX a UI dizajn, ktorý je preložený do zdrojového kódu.
3. API
Zmyslom Application Programming Interface (API)a je komunikovať medzi backendom a frontendom, čo hlavne pri väčších projektoch umožnuje oddeliť vývoj frontendu a backendu.
API sa dá obrazne opísať ako čašník v reštaurácii. Vy (ako frontend) si objednáte jedlo, čašník objednávku odovzdá kuchárom (backend). Tí na základe vašich požiadaviek pripravia pokrm, ktorý vám čašník (API) prinesie.
My na tvorbu API používame GraphQL, alebo RESTful API.
4. Programovacie jazyky
Programovací jazyk je súbor príkazov a inštrukcií, s ktorým programátori vyvíjajú aplikácie. Medzi najpoužívanejšie patrí Swift / Objective-C (pre iOS), Java / Kotlin (Android) či Javascript, dnes už univerzálny jazyk.
5. CMS
Nie všetok obsah môže byť statický. CMSko, ľudovo systém na manažovanie obsahu, umožní pridať a upraviť obsah dynamicky v mobilnej aplikácii. Bez CMS by ste potrebovali programátora alebo sami vedieť programovať. Našťastie, ovládanie CMS zvládnete aj bez týchto znalostí (stačí si len zapamätať prístupove meno a heslo).
My na tvorbu CMS používame Strapi alebo Contentful, prípadne sa v špecifických prípadoch programuje tzv. administračný portál — samostatná webová aplikácia na manažment obsahu.

6. Architektúra aplikácie
Architektúra aplikácie opisuje techniku a postup jej vývoja. Poznáme niekoľko druhov:
- Tradičná architektúra používa fyzický server, ktorý uchováva dáta = databáza. S tým prichádza niekoľko starostí — cena, priestor na uskladnenie, ľudí na ich manažovanie.
- My využívame serverless architektúru. Stále používa servery, tie však sprostredkováva a spravuje poskytovateľ cloudu. Človek tak nemusí riešiť vyššie spomenuté problémy, naopak, ušetrí mu to mnoho vrások na čele.
7. Repozitár
Všetok kód, čiže celá aplikácia, musí byť niekde uložený. Na to slúži repozitár — úložisko zdrojového kódu.
QA, TESTOVANIE
Dvakrát meraj a raz rež platí v prípade mobilných aplikácií stonásobne. Nechcete predsa vypustiť do sveta produkt, ktorý by bol nefunkčný.
Samotné testovanie je len z jedným z mnohých prostriedkov procesu zabezpečenia kvality (QA / quality assurance) ktorý zabraňuje vzniku nedostatkov (či tzv. bugov). QA process zaistí, že aplikácia bude spĺňať požiadavky na kvalitu. Testuje sa výkon, bezpečnosť, použiteľnosť…
Čím skôr je odhalená chyba v kóde, tým lepšie. V neskorších fázach testovania by to nemuselo byť jednoduché.
Poznáme viacero druhov testov:
“Unit” testy
V tomto prípade kontrolujeme najmenšie časti aplikácie (malé časti zdrojového kódu), individuálne a nezávisle od seba. Testovanie je rýchle a málo náročné.
Jedným z parametrov, ktorými meriame priebeh testovania je code coverage — koľko percent kódu sme už pokryli.
Integračné a “E2E” testy
Pri integračných a E2E testoch sa nezameriavame na izolované kúsky kódu, ale na nejaký väčší celok, či funkcionalitu aplikácie.
Pri E2E sa aplikácia otestuje od začiatku po koniec, využívajúc scenáre. Tie imitujú správanie používateľov, inak povedané, ako by mohli narábať s aplikáciou.Typickým kandidátom pre E2E testy je napr. process registrácie nového používateľa do aplikácie, ktorý pozostáva z niekoľkých obrazoviek: zadanie mena/hesla, overenie cez telefónne číslo a vytvorenie + vyplnenie profilu.
E2E testy pomáhaju predchádzať situáciam, kedy niečo čo už raz dokonale fungovalo, prestane fungovať v novšej verzii aplikácie do ktorej bola pridaná nejaká nová funkcionalita.
“Acceptance” testy
Sú testami, kedy samotný klient alebo používateľ skontroluje aplikáciu. Po tomto schválení nasleduje už produkcia = nahratie mobilnej aplikácie (alebo jej novšej verzie) do obchodov a jej sprístupnenie pre koncových používateľov.
LAUNCH / SPUSTENIE APLIKÁCIE
Beta verzia
Po každom kole interného testovania developermi sa aplikácia môže poslať na vyskúšanie menšej skupine ľudí, ktorých zvykneme označovať ako testerov. Tí dostanú beta verziu aplikácie, ktorá bude viac-menej finálnym produktom, no stále môže obsahovať nejaké skryté bugy.
Na základe pripomienok z testovania sa doladia posledné detaily, či opravia nejaké chyby. Nasleduje release a deployment.
Release a deployment:
Tieto dva termíny sa častokrát zamieňajú:
- Deployment aplikácie je proces, ktorý zahŕňa technické činnosti. “Posúva” alebo “posiela” novú verziu do žiadaných systémov.
- Release označuje vec — verziu aplikácie sprístupnenú používateľom.
Bug
Taktiež známy ako postrach programátorov. Bug je chyba v kóde aplikácie. Spôsobuje tak zlyhanie systému, či jej nesprávne fungovanie.
Marketing
Prečo by si používatelia mali stiahnuť vašu aplikáciu, keď majú na výber z tisícov možností? Bez ohľadu na jej kvalitu, ak o aplikácii nebude nikto vedieť, nebude úspešná. Kvalitná marketingová kampaň pomôže zviditeľniť aplikáciu.
Mnohí marketujú aplikáciu už pri prvých fázach vývoja — získajú tak potenciálnych prvých používateľov. Po vydaní aplikácie však marketing nekončí a je potrebné zabezpečiť, aby ju naozaj používali a aktualizovali.
Spôsob marketingovej stratégie je individuálny v závislosti od zákazníkov, lokality atď, ale typicky najpoužívanejšie prostriedky sú:
- Sociálne siete: Instagram, TikTok či LinkedIn poslúžia na vytvorenie komunity, či prilákanie prvých používateľov.
- Platená reklama (Google, Facebook, Instagram)
Záver
Vývoj mobilnej aplikácie nie je jednoduchý. Je potrebné byť odborníkom vo viacerých oblastiach. Zároveň to stojí nemalé peniaze, čas, energiu a litre kávy.
V stefan-majiros.com neponúkame len pár riadkov kódu — ponúkame technologického partnera, ktorý premení vašu víziu na skutočnosť. Kontaktujte nás a váš nápad neostane iba nápadom.