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ý.

Smartfón s aplikáciami
Photo by Jonas Lee on Unsplash

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.

Tvorba UX: Photo by Kaleidico on Unsplash

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ď).

UI dizajn: Photo by Balázs Kétyi on Unsplash

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.

Ukážka vytvárania prototypu

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.

aStrapi — Ukážka pridávania nového 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 coveragekoľ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.

Osoba prezerajúca aplikácie na smartfóne
Photo by Christian Wiediger on Unsplash

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.

--

--

--

Nenechajte si ujsť náš blog ! stefan-majiros.com je malé vývojárske štúdio, ktoré vyvíja apky pre Android a iOS s pomocou React Native a serverless (AWS). Naučíme vás na čo si dať pozor, dozviete sa čo sa od vás ako klienta vyžaduje a koľko to stojí s nami :)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Stefan Majiros

Stefan Majiros

Senior React Native Developer @stefan-majiros.com (Mobile MVP Dev Agency). Working w/ AWS Amplify and Firebase. Open to remote dev projects w/ my own clients!

More from Medium

Continuous navigation improver since 2012: Get to know Arne!

Why should startups launch Virtual Employee Stock Ownership Plan (VSOP)?

Get payroll right with integrated payments.

Corruption is logical or why all state and private partnerships will fail.