Zkuste nás kontaktovat

Návrh Školení

Úvod

Týden 1: Pokročilé koncepty v Swiftu, Kotlinu a JavaScriptu

  • Swift (iOS)
    • Pokročilé funkce: uzávěrky, zachycování hodnot, vyšší řádkové funkce
    • Programování pomocí protokolů a generické typy
    • Správa paměti s ARC (Automatickým počítáním referencí)
  • Kotlin (Android)
    • Rozšiřující funkce a standardní knihovna Kotlinu
    • Koerutiny pro asynchronní programování
    • Uzavřené třídy, výčty a pokročilá práce s chybami
  • JavaScript (React Native)
    • Pokročilé vlastnosti ES6+: destrukturalizace, async/await, promisy
    • Funkcionální programovací principy v JavaScriptu
    • Práce s externími knihovnami v prostředí React Native

Týden 2: Architektura a návrh mobilních aplikací

  • MVVM (Model-View-ViewModel) pro iOS i Android
    • Pochopení architektury MVVM v prostředí Swiftu i Kotlinu
    • Implementace ViewModelů a jejich propojení s daty pomocí LiveData na Androidu či Combine na iOSu.
    • Reaktivní programování za použití nástrojů RxSwift a RxKotlin.
  • Komponentově orientovaná architektura v React Native
    • Pochopení životního cyklu komponent a jejich „hooků“
    • Doporučené postupy pro správu velkého množství stavů a atributů.
    • Využití knihovny React Context API pro globální řízení stavů.

Týden 3: Pokročilé síťové techniky

  • Síťová komunikace v iOS (Swift)
    • Pracování s nástrojem URLSession pro vlastní síťové požadavky.
    • Zpracovávání RESTful API a chybových stavů.
    • Pracovní práce s formátem JSON prostřednictvím standardu Codable.
    • Doporučené postupy pro bezpečnou komunikaci pomocí SSL pinningu a protokolu OAuth.
  • Síťová komunikace v Androidu (Kotlin)
    • Využití knihovny Retrofit k odesílání požadavků na API a zpracování odpovědí.
    • Pokročilé zpracování chybových stavů a mechanismy opakování operací.
    • Práce s knihovnami Gson nebo Moshi pro práci s daty v formátu JSON.
    • Zajištění bezpečné komunikace pomocí protokolu HTTPS a ověřování typu OAuth.

Týden 4: Síťová komunikace v prostředí React Native

  • Integrace API s použitím nástrojů Axios a Fetch
    • Pokročilé využití nástrojů Axios a Fetch pro síťovou komunikaci.
    • Rozhodování o strategiích chybového zpracování a opakování operací.
    • Práce s autentizací – zejména systémů JWT či OAuth.
  • WebSockets a komunikace v reálném čase
    • Základní informace o technologii WebSockets v prostředí React Native.
    • Tvorba chatovacích nebo upozornění systémů založených na spojení typu WebSocket.
    • Správa trvalých spojení a aktualizace dat v reálném čase.

Týden 5: Pokročilé techniky ukládání dat

  • Core Data a SQLite (iOS)
    • Pokročilá práce s vztahy mezi datovými entitami, vyhledáváním a dotazy.
    • Přímé užívání databáze SQLite v aplikacích pro iOS i správa jejich spojení.
    • Optimalizace rychlosti zpracování dat a efektivní práce s nimi.
  • Knihovna Room a SQLite (Android)
    • Pokročilá tvorba vztahů mezi entitami a práce s dotazy v rámci databáze.
    • Správa rozsáhlých množin dat a zajištění jejich rychlé dostupnosti.
    • Využívání nástroje ProGuard pro ochranu struktury datové báze.
  • Služba Firebase určená k ukládání dat v cloudu (iOS i Android)
    • Integrace s Firebase umožňující centralizované řízení dat v reálném čase.
    • Doporučené postupy pro synchronizaci místních a cloudových údajů.

Týden 6: Pokročilé řízení stavů v React Native

  • Redux jako systém řízení stavů
    • Pochopení komplexních funkcí Reduxu – middleware, Thunks i Sagas.
    • Optimalizace výkonu a rozšiřitelnosti využívající Redux.
  • Recoil jako alternativní nástroj pro řízení stavů
    • Představení Recoil: flexibilnější přístup k řízení stavů ve srovnání s Reduxem.
    • Správa velmi rozsáhlých skupin dat napříč více komponentami.
    • Jednoduché aktualizace stavu a práce s atomickými jednotkami dat.

Týden 7: Pokročilé animace v iOS a Android

  • iOS (Swift)
    • Knihovna Core Animation: animace prvků rozhraní, vrstev i přechodů mezi scénami.
    • Systém UIKit Dynamics: vytváření fyzikálně realistických pohybů.
    • Vlastní animované přechody mezi jednotlivými kontrolery rozhraní.
  • Android (Kotlin)
    • Nástroj MotionLayout umožňující tvorbu složitých animací.
    • Funkce TransitionManager a sdílené elementy v rámci přechodů mezi scénami.
    • Manipulace vlastnostmi prvků rozhraní – jejich měřítko, rotace či průhlednost pomocí animačních funkcí.

Týden 8: Animace a uživatelské rozhraní v React Native

  • Animace v prostředí React Native
    • Používání nástrojů Animated API a Reanimated pro komplexní animační efekty.
    • Tvorba gest i interakcí s uživatelem pomocí knihovny React Native Gesture Handler.
    • Postupy zajišťující optimální výkon animací v tomto frameworku.
  • Tvorba vlastních komponent rozhraní
    • Vytváření přizpůsobitelných a opakovaně použitelných komponent pro React Native.
    • Dosažení responzivního designu s využitím mediálních dotazů i flexboxového systému.

Týden 9: Integrace nativních modulů a funkcí zařízení

  • Přístup k nativním schopnostem mobilního telefonu
    • Rozšířené využití fotoaparátu, určení polohy, Bluetooth či senzorů.
    • Tvorba vlastních modulů pomocí Swiftu a Kotlinu pro propojení s React Native.
    • Využívání nástroje ARKit pro tvorbu rozšířené reality na platformě iOS.
    • Integrace nástrojů CameraX a ARCore umožňující vytvořit rozšířenou realitu i na Androidu.
  • Nativní mosty a moduly pro React Native
    • Vývoj individuálních modulů určených k propojení s funkcemi platformy.
    • Tvorba spojek mezi Swiftem/Java a frameworkem React Native.
    • Doporučené postupy pro správu nativního kódu v rámci cross-platformového vývoje.

Týden 10: Testování a ladění složitých aplikací

  • Testování na platformě iOS (Swift)
    • Vytváření jednotkových testů s pomocí nástroje XCTest i testů uživatelského rozhraní.
    • Práce s prostředím Xcode Instruments určeným k analýze výkonu a odhalování úniků paměti.
    • Implementace kontinuálních integračních procesů využívajících nástroje Jenkins či CircleCI.
  • Testování na platformě Android (Kotlin)
    • Pokročilé jednotkové testy pomocí nástrojů JUnit a Espresso pro ověření stability aplikací.
    • Analýza výkonu zařízení s použitím nástroje Android Profiler a odhalování příčin zpomalení.
    • Používání platformy Firebase Test Lab k automatickému testování na různých zařízeních najednou.
  • Testování v prostředí React Native
    • Jednotkové testy s využitím nástroje Jest a ověření funkce komponent pomocí knihovny Enzyme.
    • End-to-end testování za použití nástrojů Detox a automatizované nastavení testovacích scénářů.
    • Analýza výkonu aplikace s využitím nástrojů React Native Debugger a Flipper.

Týden 11: Vydávání aplikací a kontinuální integrace

  • Vydání aplikace do App Store (iOS)
    • Příprava produktu k publikování – vytvoření certifikátů, profilů přístupu a beta testy pomocí služby TestFlight.
    • Automatizace procesu vydávání díky nástroji Fastlane.
    • Správa nastavení v systému App Store Connect a postupy k zajištění schválení ze strany komunity.
  • Publikování aplikace na Google Play (Android)
    • Příprava balíčku APK a jeho podepsání pro předložení do obchodu Google Play.
    • Automatizace vydávacích procesů s použitím nástrojů Fastlane a Gradle.
    • Základní konfigurace účtu na platformě Google Play Console a organizování beta testů.
  • Nastavení CI/CD řetězců pro automatickou integraci kódu a vydávání produktu
    • Využívání nástrojů typu Jenkins, GitHub Actions nebo CircleCI k konfiguraci automatizovaných postupů tvorby verzí.
    • Jednotné řešení pro iOS i Android pomocí nástroje Fastlane při budování CI/CD procesů.
    • Doporučené strategie pro řízení čísel verzí, pořadí vydávání a kategorií nových vydání.

Týden 12: Závěrečný projekt

  • Vytváření finálního projektu
    • Designování a programování plně funkční aplikace, jež využije všechny získané dovednosti během kurzu.
    • Pokročilá integrace vlastního uživatelského rozhraní, animací, systémů řízení stavů, připojení nativních modulů i práce s reálnými daty z API.
    • Optimalizace výkonu aplikace a její vydání jak do App Store, tak do Google Play.

Závěr a další kroky

Požadavky

  • Dobrá znalost programátorských principů, zejména v jazycích Swift, Kotlin a JavaScript
  • Předchozí zkušenosti s tvorbou jednoduchých aplikací pro iOS, Android či React Native
  • Znalost návrhových vzorů jako MVC nebo MVVM a praktické zkušenosti s řízením stavů.

Cílová skupina

  • Mobilní vývojáři
  • Programátři
 420 Hodiny

Počet účastníků


Cena za účastníka

Reference (3)

Nadcházející kurzy

Související kategorie