Jak pracuje… Vývojář

Jak pracuje… Vývojář

Z naší dílny

Před pár týdny jsme vám ukázali, jaké úkoly má na starost projektová manažerka v INITED. Víte ale, jak vypadá běžný pracovní den vývojářů? A co všechno řeší například při vývoji backendu?

V předchozím díle našeho seriálu Jak pracuje… jsme vám ukázali, co v průběhu jednoho projektu řeší naše projektová manažerka Jana. A nyní je čas podívat se, jaké úkoly mají na starosti vývojáři. Konkrétně náš fullstack developer Dmitrij (tedy Dima, jak mu v INITED říkáme).

Důležitá je příprava projektu

Dima má v INITED na starosti zejména tvorbu backendu. V úvodních etapách projektu, tedy ve fázích Plánu a Makety, tak klient nedostává žádné jeho výstupy. Neznamená to ale, že má Dima volno.

Na začátku vývoje mobilní aplikace je jeho úkolem vytvořit nové projekty v Bitbucketu, který slouží jako Git (tedy nástroj pro správu adresářů a souborů) pro zdrojový kód. Díky tomu může každý vývojář dělat změny jen ve své části kódu.

Kromě toho vytvoří nový projekt také na open-source serveru Jenkins. V něm připraví a nastaví skripty, díky kterým Jenkins automaticky vytváří buildy dané aplikace a nahrává je na server. Z něj si pak klient může aplikaci stáhnout a nainstalovat.

Zároveň Dima připravuje server pro backend.

Musí proto nastavit konfigurační soubory pro platformu Docker, která izoluje jednotlivé aplikace (například backend, frontend či administraci) do takzvaných kontejnerů. V případě backendu to znamená, že konfigurační soubory určí jeho prostředí a umožní spuštění.

S Dockerem pracujeme i v dalších částech projektu. Pomocí takzvaného docker compose file nastavíme celý projekt, což nám následně usnadní například testování.

Stačí totiž zkopírovat jen zmíněný soubor a získáme klon celého projektu. Můžeme ho tak testovat a zároveň programovat nové funkce

Chybí vám spolehliví developeři, kteří budou dodávat dle zadání?

Tvorba backendu trvá i přes 80 hodin

Dimova práce na backendu pokračuje návrhem API, které umožní propojení backendu s frontendovou aplikací.

Poté do softwaru Swagger zaznamená:

  • modely, se kterými bude v backendu pracovat;
  • a endpointy, které následně vytvoří v backendu. Určí přitom mimo jiné i to, jaké vstupní parametry daný endpoint dostane, jaká data vrátí nebo jaké se mohou objevit chyby. 
Ukázky obrazovek ze swaggeru.
Parametry endpointů mohou vypadat například takto.

Kromě toho je potřeba zvolit také vhodný typ databáze – obvykle je to relační databáze MySQL.

A poté už přichází čas na tvorbu zdrojového kódu pro backend. Už u jednodušších serverů zabere práce minimálně 80 hodin, ve kterých je potřeba naprogramovat například:

  • přihlašování přes e-mail, Facebook, Google a Apple ID,
  • ukládání a zobrazování obrázků,
  • nebo práci s daty v databázi,

U komplexnějších projektů se k tomu přidává například ještě:

  • rozesílání e-mailů a push notifikací,
  • propojení mobilní aplikace s jiným systémem (například s administrací či webem)
  • nebo propojení s dalším systémem na rozesílání e-mailů (jako je například Incomaker nebo Ecomail).

V takovém případě samozřejmě čas strávený prací narůstá (jak přesně rozsah prací na jednotlivých projektech vypadá a jaká je cena vývoje zjistíte v článku Na čem závisí cena za vývoj mobilní aplikace?).

„V INITED většinou k tvorbě backendu používáme Node.js framework zvaný NestJS. Kód píšeme v jazyce TypeScript. Výhodou je, že jak kód, tak struktura projektu dost připomínají Angular nebo Ionic, ve kterých píšeme webové a mobilní aplikace. Pokud je potřeba lehce upravit kód, doplnit jednoduchou funkci, může to udělat i frontend developer. Kód a struktura projektu se totiž podobají frontendovým aplikacím,” upozorňuje na výhodu tohoto postupu Dima.

V INITED ale pracujeme i s dalšími frameworky. Ať už je to například Spring Boot nebo Apache Sling, ve kterých máme backend u některých projektů.

Vzájemná kontrola kódů pomáhá všem

Kromě přípravy backendu se Dima stará o aktualizace aplikací nebo o přípravu některých aplikací k publikaci v obchodech App Store, Google Play nebo AppGallery.

Jako jeden ze služebně nejstarších vývojářů v INITED má na starosti také předávání informací o technické stránce vývoje novým členům týmu. Spolu s ostatními vývojáři také kontroluje kód svých kolegů.

„Kód si kontrolujeme všichni navzájem. Někdy tam můžeme nalézt věci, co by se daly vylepšit, ale většinou se sami naučíme něco nového od jiného programátora,” zmiňuje Dima.

I když se ve své pozici soustředí zejména na přípravu backendu, má možnost podílet se i na přípravě samotné aplikace. „Například něco opravím nebo doplním nové funkce podle požadavků klienta. To je výhoda INITED, že nemusíte neustále dělat jednu věc, ale můžete si práci zpestřit naprogramováním nových funkcí na jiném projektu nebo platformě,” říká jeden z našich nejzkušenějších vývojářů mobilních aplikací.

Když práce skončí

Dima se nenudí, ani když navečer odloží klávesnici. Pokud ji tedy odloží – ve volném čase totiž rád programuje vlastní drobné aplikace. Třeba takové, které mu pomohou najít nejbližší zastávku hromadné dopravy.

Rád si také zahraje počítačové hry, ponoří se do virtuální reality nebo si zajde s kamarády na fotbal, do fitcentra či do bazénu.

„V době koronavirového lockdownu jsem navíc objevil, že mě baví práce s epoxidem. Takže občas vyrobím nějakou lampu nebo malý stolek,” dodává Dima.

A co na takový stolek odloží? Třeba některou ze svých oblíbených fantasy knížek. Ať už je to Eragon, nebo Zaklínač.

Sdílejte článek
Jaroslav Pavlíček
Jaroslav Pavlíček

Jaroslav je certifikovaný architekt (TOGAF) s 25+ lety praxe v IT. Díky tomu mají naše mobilní aplikace vysokou technickou úroveň a jsou postavené na spolehlivých technologiích. Své zkušenosti získával na projektech v zahraničí (Velká Británie, Malta) a vedle INITED působí jako konzultant Adobe Experience Manager, AEM.

Oblíbené
Splash screeny v mobilních aplikacích. Od teorie a historie až po implementace na iOS a Androidu

V ideálním světě by se mobilní aplikace spustila okamžitě. Načtení všech potřebných dat ale chvíli trvá. Telefony jsou sice čím dál tím výkonnější, aplikace s...

Ilustrační grafika s nápisem AI.
5 tipů, jak využít umělou inteligenci v mobilní aplikaci

Pokud se 10 lidí zeptáte, jaký je největší trend v oblasti mobilních aplikací, s největší pravděpodobností vám všichni odpoví stejně – umělá inteligence. Velká popularita...

Ilustrační obrázek s názvem rozhovoru s Janou Markovou o mobilních a webových aplikacích.
Ostatní 20. 3. 2024
Jana Marková: Mobilní, nebo webová aplikace? Někdy je nejlepší mít obě

Aby práce na mobilní aplikaci běžely plynule a bez zbytečných potíží, je potřeba pečlivé projektové vedení. A za to je v INITED už od roku...

Ilustrační grafika s názvem článku a rukou kreslící návrh mobilní aplikace.
Od nápadu na aplikaci k dokonalému projektu: 6 kroků, které musíte ujít

„Mám nápad na skvělou mobilní aplikaci.“ Takovou větu u nás slyšíme velmi často. Jenže… od nápadu k aplikaci vede dlouhá cesta, na které potřebujete promyslet...

Mohlo by vás zajímat

Zobrazit vše
Splash screeny v mobilních aplikacích. Od teorie a historie až po implementace na iOS a Androidu
Mobilní aplikace
Splash screeny v mobilních aplikacích. Od teorie a historie až po implementace na iOS a Androidu

V ideálním světě by se mobilní aplikace spustila okamžitě. Načtení všech potřebných dat ale chvíli trvá. Telefony jsou sice čím dál tím výkonnější, aplikace s...

Jana Marková: Mobilní, nebo webová aplikace? Někdy je nejlepší mít obě
Ostatní
Jana Marková: Mobilní, nebo webová aplikace? Někdy je nejlepší mít obě

Aby práce na mobilní aplikaci běžely plynule a bez zbytečných potíží, je potřeba pečlivé projektové vedení. A za to je v INITED už od roku...

Apple umožňuje publikovat aplikace v alternativních obchodech. Jaké jsou podmínky?
Mobilní aplikace
Apple umožňuje publikovat aplikace v alternativních obchodech. Jaké jsou podmínky?

Vydávat aplikace pro iOS mimo App Store bylo až donedávna prakticky nemyslitelné. Od března 2024 je to ale jinak – Apple totiž vydavatelům v Evropské...

Od nápadu na aplikaci k dokonalému projektu: 6 kroků, které musíte ujít
Mobilní aplikace
Od nápadu na aplikaci k dokonalému projektu: 6 kroků, které musíte ujít

„Mám nápad na skvělou mobilní aplikaci.“ Takovou větu u nás slyšíme velmi často. Jenže… od nápadu k aplikaci vede dlouhá cesta, na které potřebujete promyslet...

6 rozdílů mezi ASO pro App Store a pro Google Play
6 rozdílů mezi ASO pro App Store a pro Google Play

Jakmile připravíte novou mobilní aplikaci, máte před sebou zásadní úkol – dostat ji k co největšímu množství lidí. Pomůže vám s tím ASO – tedy...