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.
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.
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ď.
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.
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.
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.
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.
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žije — ako 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.
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.
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ódu sú zaznamenané a uložené. Ak je to potrebné, dá sa vrátiť k minulým verziám.
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.