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).
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
Dimova práce na backendu pokračuje návrhem API, které umožní propojení backendu s frontendovou aplikací.
Poté do softwaru Swagger zaznamená:
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:
U komplexnějších projektů se k tomu přidává například ještě:
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ů.
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í.
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č.
blablabl