Nedávno z našej dielne vyšiel nový kurz Ionic framework - vývoj hybridných mobilných aplikácií, ktorý má na svedomí Erich Stark. Náš nový lektor sa primárne venuje frontendu, pracuje na rôznych projektoch a popritom ešte učí webové technológie na Paneurópskej vysokej škole v Bratislave. A práve s ním sme sa porozprávali o samotnom kurze a nielen to. Pozreli sme sa na jeho príbeh, čo všetko má za sebou, ako napreduje a čomu sa presne venuje. V nasledujúcich riadkoch si už prečítajte o jeho skúsenostiach a zopár tipov, ktoré sa vám určite zídu.
Ionic je UI framework určený pre tvorbu mobilných aplikácií, ale vďaka jeho možnostiam umožňuje tvorbu aj desktopových a, samozrejme, klasických webových aplikácií. Vzhľad týchto komponentov je tak perfektne naštýlovaný, že by sme takmer nerozoznali rozdiel od natívnych aplikácií v iOS, resp. v Androide.
V kurze si prejdeme základné koncepty a komponenty frameworku primárne s integráciou Angularu (viete použiť aj Vue, React, ak ich už ovládate). Potom som vymyslel aplikáciu IonBank, kde tieto komponenty integrujeme do ucelenej aplikácie.
Do kurzu ešte pribudnú nejaké kapitoly, ktoré rozširujú vlastnosti aplikácie a, samozrejme, ako ju dostať do obchodu s aplikáciami.
Kurz je vhodný aj pre začiatočníka. V tomto kontexte začiatočníka myslím človeka, ktorý má základné znalosti z HTML, CSS a JavaScriptu. Potrebný zvyšok sa dá pochopiť počas kurzu. Avšak bolo by super, ak sa už stretol aj s frameworkom Angular. Prípadne React/Vue, v ktorých sa tiež dá Ionic UI použiť.
Poznatky z kurzu vie študent aplikovať vo viacerých oblastiach v závislosti od preferencií. Ako som spomínal, Ionic je primárne UI framework určený pre mobilný vývoj. Takže, ak si bude chcieť vytvoriť mobilnú appku, ktorá pracuje s dátami, nemusí sa učiť pre začiatok natívne technológie (Kotlin, Swift), ale využije existujúci skill v tých webových. To je podľa mňa najväčšia výhoda, pretože čas máme obmedzený a nemôžeme vedieť všetko. Avšak vďaka jeho rozšíreniam je možné tvoriť aj progresívne webové aplikácie (tu by som spomenul napríklad https://zive.aktuality.sk/clanok/145060/progresivne-webove-aplikacie-maju-byt-este-dokonalejsie-google-chysta-zmenu/), ktorých počet bude tiež len rásť.
Po absolvovaní kurzu je vhodné si prehĺbiť znalosti z frameworku, ktorý tam používame (Angular/Vue/React). To nám umožní používať pokročilejšie vlastnosti daných technológií, a tak písať robustnejšie aplikácie. Výhoda, že všetky tri sú spracované formou kurzov aj na Learn2Code.
Čo by som ešte spomenul ako dôležité a často sa nad tým vývojári nezamýšľajú, je znovupoužiteľnosť, resp. zdieľanie kódu. Predstavme si príklad, že ovládame technológie ako Angular, Ionic a Backend si píšeme v Node.js. To nám umožňuje zdieľať napr. modely medzi Frontend a Backend. Zároveň by sme si vedeli medzi Angular a Ionic zdieľať vlastné UI komponenty. Samozrejme, zmysel to začne dávať až pri väčších aplikáciách.
V podstate už počas štúdia som pracoval v tejto oblasti a neskôr som začal pracovať ako kontraktor, kde sa s kolegami venujeme hlavne frontendu (https://starkcodes.com). Keď som im niečo vysvetľoval, ako by som to riešil alebo pristupoval k danému problému, často som dostal spätnú väzbu, že mi to ide celkom dobre. (úsmev)
Tak som si uvedomil, že keď sa niečo naučím, viem z danej technológie vydestilovať tie dôležité časti a podať ich ďalej celkom v zrozumiteľnej forme. Samozrejme, je to potom iné, či to človek podáva online alebo prezenčne. A tak som sa rozhodol tento skill viac kultivovať a po štúdiu PhD. na FEI STU som začal učiť na Paneurópskej vysokej škole webové technológie.
Do online sveta som chcel už vstúpiť dávnejšie a keď prišla táto nešťastná pandémia a viac času som trávil doma, tak som si povedal, že by to mohol byť ten správny čas.
Ak vezmem do úvahy všeobecne programovanie a webové technológie tak pracovne už asi šesť rokov. V roku 2018 sme mali v práci zaujímavý projekt pre mobilnú aplikáciu, kde som sa rozhodol použiť Ionic. Pri každom projekte človek narazí aj na isté problémy, ale všetko sa dá vyriešiť. Čo je ale dôležitejšie, treba používať správnu technológiu pre konkrétny projekt.
Počas štúdia som sa naučil rôzne technológie, kde frontend mi sedel asi najviac. Avšak myslím si, že je to často ovplyvnené aj prvou prácou, kde sa človek začína profilovať na nejakú oblasť. Poslednou dobou sa zamýšľam nad tým, čo všetko musím ovládať, aby som zastrešil celkový vývojový proces aplikácie. Z toho dôvodu si študujem aj technológie pre tvorbu Backendu.
Prioritne sa venujem HTML, CSS a JavaScript, ktoré sú veľmi dôležitý základ vo webovom svete, pretože tu budú asi nastálo, zatiaľ čo frameworky sa budú meniť podľa trendu. Takže pomocou nich som tvoril rôzne webové prezentácie alebo komponenty. Potom som rozšíril skúsenosti aj o frameworky ako Angular a neskôr Ionic. V súčasnosti pracujem na knižnici komponentov pre klienta, pomocou štandardu Web Components. Myslím si, že to by mohol byť ďalší zaujímavý kurz v blízkej dobe 🙂
Mal som obdobie v živote, keď sa pretínala full time práca, doktorandské štúdium a ešte k tomu drobné projekty pre klientov. Neviem, či to bol teda úspech, ale bolo to náročné obdobie.
Čo by som skôr považoval za úspech, že sa mi podarilo zladiť môj pracovný rozvrh po narodení dieťaťa tak, aby som mohol venovať dostatok času aj svojej rodine.
V roku 2020 som objavil mailovú aplikáciu HEY. Neuberá mi pozornosť pri čítaní mailov a viem sa sústrediť na to, čo potrebujem vybaviť a neskôr čítať newsletter v čase, keď to ozaj chcem a nie vtedy, keď mi to svieti v Inboxe.
Ak chceme zostať aktuálni v našej oblasti, musíme sa stále vzdelávať. Takže áno, pravidelne. Treba sledovať rôzne novinky z oblasti, ktorej sa venujeme a občasne študovať aj nové technológie. Samozrejme, ideálne cielene a s vyskúšaním si na nejakom projekte, inak ich zabudneme.
Trendy je dobré si všímať, ale nie nutne hneď nasledovať. V súčasnosti si skôr vyhľadávam „mature“ projekty, ktoré spĺňajú svoj účel a držia veľmi dobrú kompatibilitu. Často sa stáva pri mladých projektoch, že entuziazmus vývojára vyhasne a potom sa musíte obzerať po novej knižnici a podobne. Nechcem odrádzať od objavovania nových trendov, pretože vždy sme v nejakej fáze. Niekedy potrebujeme experimentovať, pretože hľadáme niečo nevšedné a progresívne. A niekedy zasa potrebujeme vyvíjať projekt, pri ktorom vieme, že je to dlhodobá záležitosť, vtedy treba staviť na stabilnú technológiu.
Novinky sledujem hlavne cez newsletter ako Frontend Focus alebo JavaScript weekly.
Presne k tomuto sme aj posledné roky smerovali. Veľa ľudí už pracovalo vzdialene a dosahovalo vynikajúce výsledky. Súčasná situácia to len urýchli. Je smutné, že veľa ľudí prišlo o prácu, dokonca niektoré pracovné pozície aj zaniknú. Na druhú stranu tu máme nedostatok programátorov. Tu vidím priestor pre ľudí, ktorí zvažujú zmenu pracovnej oblasti a chceli by skúsiť napr. IT.
Práve im by som dal takú radu. Možno si na začiatku budú myslieť, že všetko je náročné a nezvládnu to. Treba sa zamyslieť nad tým, ako sa učíme nové veci. Chce to TRPEZLIVOSŤ a ČAS. Môže to trvať mesiace, ale aj roky. Napr. odkedy som začal študovať, tak som neprestal ani vo voľnom čase. A stále vidím priestor na zlepšenie. Rozdiel sa láme v tom, keď už máme dostatok znalostí na to, aby sme začali robiť praktické veci a potom už len na tom staviame a vylepšujeme.
Máš na Ericha nejaké otázky? Neváhaj ich napísať do komentárovej sekcie.
Som predovšetkým novinárka, pracovala som napríklad v TASR, v Učiteľských novinách, externe spolupracujem s niekoľkými webmi. Venujem sa rôznym oblastiam - v poslednom čase však najmä vzdelávaniu. Nerozumiem IT, neviem naprogramovať webstránku ani mobilnú aplikáciu, napriek tomu o IT rada a veľa píšem.
Rozhovory
25.10.2020 - Learn2Code tím
Jakub je lektor z Prahy, ktorého baví tvoriť a motivovať ostatných ku kreativite. Má svoj vlastný YouTube kanál o vývoji hier v Unity a Blenderi....
Rozhovory
20.09.2020 - Learn2Code tím
Linda Lukačková je profesionálny recruiter, ktorý získal množstvo projektov za pomoci nástrojov ako farebná typológia a komunikačné skills....
Rozhovory
18.05.2020 - Learn2Code tím
Andrej Bryndza je macher na 3D a modelovanie. Robí s CAD softvérmi a 3D modelovaním všemožného druhu. Už na strednej škole ho fascinovali počítače a to...