Aké nástroje používame pri vývoji mobilnej aplikácie?

Ak ste nikdy nespolupracovali s firmou na vývoj aplikácií, asi neviete, ako prebieha takáto spolupráca. Ako bude firma so mnou komunikovať? Uvidím celý proces alebo len finálny produkt? Čo vlastne mám očakávať?

Odpovede na tieto a mnohé iné otázky sa dozviete v článku. Zistíte, aké nástroje a praktiky používame my. Tak hor sa do čítania!

Ako firma sa špecializujeme na React Native a serverless, ktoré skrátia celý proces vývoja a maximalizujú dodanú hodnotu. Ako jedny z mála na slovenskom trhu garantujeme konečnú cenu aplikácie — to znamená, že ak sa prepočítame v odhade, či nacenení — je to len a len naša starosť a nebude vás to stáť ani cent navyše.

Pracovný stôl, na ktorom je položený notebook a stolový počítač
Photo by Christopher Gower on Unsplash

Prvé stretnutie

Klienti nás nájdu na našej webstránke, kde si môžu zabookovať úvodny hovor. Na ňom uvedú svoje požiadavky a očakávania. Nasleduje naša odozva a krátka diskusia. Cieľom hovoru je vzájomné zoznámenie a porozumenie.

Chceme, aby spolupráca bola príjemná pre obe strany.

Roadmapa je dokument, ktorý špecifikuje, kedy bude ktorá funkcionalita prístupná. Ak sa dohodneme, pripravíme zmluvu a spolu s roadmapou Vám obe dokumenty zašleme.

Nasleduje podpis, platba… a práca, ktorá zvyčajne trvá niekoľko mesiacov.

Priebežná spolupráca & komunikácia

Pracujeme prevažne na diaľku, takže naši zákazníci môžu byť z rôznych kútov sveta = v rôznych časových zónach. Preto používame nástroje ako Slack či Loom. Sú vhodné na asynchrónnu komunikáciu (rozumej v rôznom čase), ktorá má niekoľko výhod. Je efektívnejšia, menej stresujúca a ponúka viac času na plánovanie.

Chceme, aby ste vedeli, ako prebieha vývoj vašej aplikácie. Preto je pre nás dôležité, aby komunikácia fungovala pre obe strany.

S klientmi sa rozprávame pravidelne, či už na týždennej, alebo dvojtýždennej báze. Informujeme ich o progrese našej práce. Tieto cally sú zároveň miestom, kde klient môže navrhnúť modifikácie alebo svoje ďalšie požiadavky.

Komunikačné nástroje

Slack

je komunikačný nástroj pre skupinové správy. Dokáže vytvoriť menšie skupiny v rámci jedného projektu, čiže každý vidí, čo reálne potrebuje vedieť. Vás ako klienta môžeme informovať o procese, zmenách, prípadných problémoch atď.

Aplikácia Slack otvorená na počítači
Photo by Stephen Phillips — Hostreviews.co.uk on Unsplash

Loom

je nástroj na odosielanie video správ. Niekedy je jednoduchšie vysvetliť problém cez video, ktoré si klient môže pozrieť aj na mobile, než písať siahodlhé správy. Jeho výhodou je kompatibilnosť so Slackom.

Loom

Správcovia úloh

Chceme, aby projekt prebiehal efektívne. To znamená, že všetky úlohy, informácie či deadliny je vyhodné mať na jednom mieste. Kvôli tomu využívame správcov úloh ako Trello alebo ClickUp. Sú to skvelé nástroje na rýchle a kvalitné organizovanie.

Trello

jeden z najvyužívanejších správcov úloh. Dá sa v ňom organizovať takmer všetko. V Trelle môžete komunikovať s ostatnými vďaka komentárom a vidieť, na čom každý pracuje. Je vhodný aj pre začiatočníkov, nakoľko je jednoduchý na ovládanie.

Nástenka s naplánovanými úlohami
Photo by Jo Szczepanska on Unsplash

ClickUp

je ďalší nástroj na riadenie projektov, ktorý ponúka viac funkcionality. To môže byť výhodou pre tých, ktorí si chcú nástroj prispôsobiť vlastným predstavám.

UX/UI dizajn

Snažíme sa naplniť želania klientov a dať im priestor na návrhy, úpravy a vylepšenia. Na samotný wireframing (tvorbu konkrétneho dizajnu) používame Figmu a Sketch (funkcionalita je viacmenej rovnaká, mnohokrát ide len o preferenciu dizajnérov).

Naším spoločným cieľom je vytvoriť funkčný a unikátny dizajn, ktorý aplikáciu odlíši od ostatných.

Osoba kresliaca s pomocou notebooku
Photo by Sigmund on Unsplash

Nástroje a frameworky na vývoj

Ako firma sa špecializujeme na React Native a Serverless (AWS). V nasledujúcich riadkoch sa dozviete, aké výhody vám to prináša.

React Native

Vďaka frameworku React Native môžeme vytvoriť natívnu aplikáciu pre Android a iOS naraz. Slovo naraz je dôležité, nakoľko normálne by sme museli písať jeden kód pre Android a jeden pre iOS. Pre nás to znamená kopec ušetreného času a pre klienta hromadu ušetrených peňazí.

Prečo odporúčame React Native?

  • Rýchlejší — namiesto dlhočízneho písania kódu pre dve platformy nám stačí napísať kód raz. V preklade, vaše čakanie na aplikáciu sa výrazne skráti.
  • Jednoduchší — nemusíme zložito vytvárať dve samostatné aplikácie a dbať na ich sychronizáciu
  • Výhodnejší — kratšia doba vyvíjania a jednoduchší proces sa odrzkadlia na konečnej sume. Vás určite poteší, že sa bavíme o menšom čísle, než by ste normálne zaplatili.

Ak si potrpíte na “veľké mená”, tak vašu pozornosť isto upútajú nasledovné firmy, ktoré používajú React Native : Facebook, Instagram, Skype, Discord, alebo Coinbase.

Pracovný stôl s počítačom, kde prebieha vývoj mobilnej aplikácie
Photo by Oskar Yildiz on Unsplash

Serverless

Nie každá funcionalita môže byť implementovaná do mobilnej aplikácie. Závisí to bezpečnosti a efektivity. My ako firma sme pre bezproblémové implementácie stavili na frameworky z rodiny serverless.

Názov serverless môže byť trochu zavádzajúci — nie je to tak, žeby servery vypadli z celého vývoja. Sú tam, ale my sa o ne nemusíme zaujímať. Prečo? Poskytovatelia cloud služieb, ako napríklad AWS (Amazon Web Services), vyrieša tieto veci za nás.

Nemusíme stráviť mesiace vytváraním backend infraštruktúry, o ktorú sa nasledovne treba starať, či udržiavat ju. O to sa postará práve poskytovateľ týchto služieb.

Aké výhody to priniesie klientovi?

  • Nižšie náklady — developer (či niekto iný) sa nemusí starať o údržbu serverov, čo výrazne skráti dobu vývoja. Taktiež sa platí len to, čo sa naozaj využijeako keď platíte len za to, čo prevoláte.
  • Lepšia škálovateľnosť — dnes musíte reagovať na dianie vo svete rýchlo. Ak chcete zvládnuť nápor zákazníkov, vďaka serverless vás to bude stáť menej usília (a nižšiu cenu), ako pri použití iných techník a architektúr

Prečo sme stavili na Amazon Web Services (AWS)

Cloud computing poskytuje IT nástroje cez internet na počkanie. “Poskytuje” a “cez internet” sú veľmi dôležité. Namiesto kupovania a manažovania vlastných fyzických serverov máte prístup ku všetkému prostredníctom tretej strany. Poskytovateľom týchto služieb je napríklad Amazon Web Services (AWS).

AWS poskytuje spoľahlivú platformu, s ktorou používatelia môžu deployovať dáta a aplikácie rýchlo a bezpečne.

Reddit, Dropbox, Twitch, či dokonca americká vláda — tí všetci používajú AWS. Nie je to veľmi prekvapivé, vzhľadom na jeho výhody: cena, flexibilita a bezpečnosť.

AWS Amplify

Amplify je jednou z mobile-first & serverless služieb, ktoré AWS ponúka. Je to balík nástrojov navrhnutých tak, aby uľahčili vytváranie aplikácií v AWS. Nakoľko vývojár nemusí riešiť všetky tie backend starosti spojené s manažovaním infraštruktúry, celý proces je rýchlejší a výhodnejší pre klientov (dá sa to prirovnať k LEGU, kde staviame konečný produkt z menších častí).

Ak poznáte technické termíny, využívame DynamoDB, AppSync, GraphQL, Lambda Functions (NodeJS / Python), S3, Cloudfront či AWS Personalize.

Aplikácia Amazon spustená na mobile
Photo by Christian Wiediger on Unsplash

DevOps (for mobile)

DevOps označuje skupinu nástrojov a praktík, ktoré automatizujú procesy medzi vývojom softvéru a ich nasadením, či ich modifikáciou v produkcii.

Microsoft Azure DevOps

je platforma, ktorá poskytuje množstvo služieb v rámci vývoja mobilnej aplikácie. Napríklad úložisko zdrojového kódu či sledovanie code-coverage.

Takisto tu vieme spustiť E2E testy. Ich účelom je kontrolovať, či všetko pracuje tak, ako má. Taktiež dokáže sledovať iné parametre, ktoré merajú úspešnosť každej verzie (KPI).

Microsoft App Center

podobne ako Azure DevOps, tiež spája viacero služieb, ktoré mobilní vývojári používajú. Samotná funkcionalita je ale odlišná, ako to, čo ponúka Azure DevOps. Medzi najhodnotnejšie funkcionality patrí napr. automatické nasadzovanie nových verzií mobilných applikácií do Appstoru, či Google Play (v prípade, že potrebujete aplikáciu pre verejnosť).

IDEs

“Integrované vývojové prostredie” spája všetky potrebné nástroje na vývoj aplikácie na jedno miesto. Z toho vyplývajú aj jeho výhody — rýchlosť a jednoduchosť.

VS Code

nakoľko obsahuje mnoho užitočných funkcií, je jedným z najobľúbenejších IDEs. Je dostupný na Windows, Linux a macOS. Je možné nainštalovať AWS Toolkit, ktorý prácu ešte viac uľahčí.

Android Studio

je rovnako obľúbený IDE ako VS Code, rozdiel medzi nimi spočíva v dostupnosti operačných systémov. Ako už aj názov napovedá, Android Studio je určené pre Android.

Xcode

IDE od Apple, určený na vytváranie softvérov pre všetky produkty s iOS alebo macOS.

Muž pracujúci na kóde
Photo by Danial Igdery on Unsplash

Repozitáre kódu

Repozitár je úložisko zdrojového kódu. Na tomto mieste si naši klienti môžu kedykoľvek pozrieť napísaný kód, ktorí vlastnia. Ako firma na tieto účely používame Github & Azure DevOps.

GitHub

je súčasne jedna z najpoužívanejších platforiem na ukladanie kódu. Názov sa skladá zo slova “Git”, čo znamená, že všetky zmeny kóduzaznamenané a uložené. Ak je to potrebné, dá sa vrátiť k minulým verziám.

Photo by Luke Chesser on Unsplash

Na prácu s repozitármi používame Gitkraken — nástroj ktorý umožňuje efektívne pracovať s repozitármi a so všetkými verziami softvéru.

Hlásenie, oprava chýb a monitoring

Pri nasadení novej verzie aplikácie do reálnej prevádzky je dôležité monitorovať chyby, ktoré počas používania aplikácie môžu nastať. Nikto nemá rád, ak niečo nefunguje. Veľa ľudí si aplikáciu odinštaluje po tom, čo sa narazia na chybu, prípadne to môže spôsobiť iné škody. Preto monitorujeme chyby v produkcii a opravujeme ich hneď, ako sa vyskytnú.

Sentry

s pomocou Sentry monitorujeme a opravujeme chyby v mobilnej aplikácii. Výhodou Sentry je okamžité hlásenie chýb, či nastavenie alarmov (upozornení o chybách), takže budeme o chybách vedieť medzi prvými a môžeme ich odstrániť rýchlejšie.

Alternatívou je Firebase Crashlytics, ktorý má podobné funkcie ako Sentry.

Vieme Vám pomôct aj s tzv. business-monitoringom — napr. ak potrebujete sledovať alebo monitorovať iné udalosti ako chyby (napr. počet zobrazení produktu, vykonaných operacií, atď.).

Máte nejaký business nápad, či nebodaj aj investora, alebo potrebujete zlepšit Váš interný proces s mobilnou aplikáciou? Ako špecialisti na React Native a serverless (AWS) Vám vieme pomôcť s mobiln — a so 100% garanciou ceny.

👉 Kontakt

--

--

--

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

What are the Pillars of a Well-Architected Framework?

COKE is Open for Withdrawal & Deposit on February 25

Cabinet — Modern App for an Old-Fashioned Hobby

The olive branch | About New7Wonders