Návrh Školení

Zavedení

1. týden: Pokročilé Swift, Kotlin a JavaKoncepce skriptů

  • Swift (iOS)
    • Pokročilé funkce: Uzávěry, zachycení hodnot, funkce vyššího řádu
    • Protokolově orientované programování a generika
    • Správa paměti pomocí ARC (automatické počítání referenčních hodnot)
  • Kotlin (Android)
    • Funkce rozšíření a Kotlin Standardní knihovna
    • Korutiny pro asynchronní programování
    • Zapečetěné třídy, výčty a pokročilé zpracování chyb
  • JavaSkript (React Nativní)
    • Pokročilé funkce ES6+: Destrukce, async/wait, sliby
    • Koncepty funkcionálního programování ve JavaScriptu
    • Práce s knihovnami třetích stran v React Native

Týden 2: Architektura mobilních aplikací a Design Patterns

  • MVVM (Model-View-ViewModel) pro iOS a Android
    • Pochopení architektury MVVM pro iOS (Swift) a Android (Kotlin)
    • Implementace ViewModels a pozorování dat pomocí LiveData (Android) a Combine (iOS)
    • Reactive programování pomocí RxSwift a RxKotlin
  • Component-Based Architecture in React Native
    • Pochopení životního cyklu komponent a háčků
    • Osvědčené postupy pro řízení stavu a rekvizit ve velkém měřítku
    • Použití React Kontextové API pro globální správu stavu

3. týden: Pokročilé Networking koncepty

  • Networking v iOS (Swift)
    • Práce s URLSession pro vlastní síťové požadavky
    • Pokročilá volání REST API a zpracování chyb
    • Práce s kódovatelným a JSON parsováním
    • Doporučené postupy pro zabezpečenou komunikaci API (připnutí SSL, OAuth)
  • Networking v Android (Kotlin)
    • Retrofit pro volání API a zpracování odpovědí
    • Pokročilé API pro zpracování chyb a mechanismy opakování
    • Použití Gson nebo Moshi pro analýzu JSON
    • Zabezpečená komunikace pomocí HTTPS a OAuth autentizace

4. týden: Networking v React Nativní

  • Integrace API s Axios a Fetch
    • Pokročilá integrace API s Axios a Fetch
    • Chyby zpracování strategií a opakování v síťových požadavcích
    • Práce s autentizací (JWT, OAuth)
  • WebSockets a v reálném čase Communication
    • Úvod do WebSockets v React Native
    • Vytváření funkcí chatu nebo upozornění v reálném čase pomocí připojení WebSocket
    • Správa trvalých připojení a aktualizací dat

5. týden: Pokročilé techniky perzistence dat

  • Základní data a SQLite (iOS)
    • Pokročilé vztahy základních dat, načítání a dotazy
    • Použití SQLite přímo pro iOS aplikace a správa databázových připojení
    • Efektivní zpracování dat a optimalizace
  • Room Persistence a SQLite (Android)
    • Pokročilé databázové vztahy a dotazy
    • Správa velkých datových sad a optimalizace výkonu databáze
    • Použití ProGuard pro zabezpečení databázových struktur
  • Firebase pro cloudové úložiště (iOS a Android)
    • Integrace s Firebase pro správu databáze v reálném čase
    • Doporučené postupy pro synchronizaci místních a cloudových dat

6. týden: Pokročilý stav Management v React Nativní

  • Redux pro stát Management
    • Pokročilé Redux koncepty: Middleware, Thunks a ságy
    • Optimalizace Redux pro výkon a škálovatelnost
  • Zpětný ráz pro stát Management
    • Úvod do Recoil: Flexibilnější alternativa k Redux
    • Zvládání rozsáhlé správy stavu napříč komponentami
    • Efektivní aktualizace stavu a správa atomového stavu

7. týden: Pokročilí Animations v iOS a Android

  • iOS (Swift)
    • Core Animation: Animace pohledů, vrstev a přechodů
    • UIKit Dynamics: Vytváření fyzikálních animací
    • Vlastní přechody a animace mezi ovladači zobrazení
  • Android (Kotlin)
    • MotionLayout pro vytváření složitých animací
    • TransitionManager a sdílené přechody prvků
    • Animace vlastností pro změnu měřítka pohledu, otočení a změny alfa

8. týden: Animations a UI/UX v React Native

  • React Nativní Animations
    • Použití Animated API a Reanimated pro složité animace
    • Implementace gest a interakcí pomocí React Native Gesture Handler
    • Doporučené postupy pro výkonné animace v React Native
  • Vytváření vlastních komponent uživatelského rozhraní
    • Vytváření opakovaně použitelných a přizpůsobitelných komponent v React Native
    • Implementace responzivních návrhů s dotazy na média a flexbox

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

  • Accessnativní funkce zařízení
    • Pokročilé využití fotoaparátu, geolokace, Bluetooth a senzorů
    • Vytváření nativních modulů v Swift a Kotlin pro React Nativní integrace
    • Integrace ARKitu pro rozšířenou realitu v iOS
    • Integrace CameraX a ARCore pro rozšířenou realitu v Android
  • React Nativní most a nativní moduly
    • Vytváření vlastních nativních modulů pro integraci s funkcemi specifickými pro platformu
    • Vytváření Java a Swift mostů pro React nativní aplikace
    • Doporučené postupy pro správu nativního kódu v prostředí napříč platformami

10. týden: Testování a ladění pokročilých aplikací

  • Testování v iOS (Swift)
    • Psaní jednotkových testů pomocí XCTest a UI testů pro iOS
    • Použití nástrojů Xcode pro profilování výkonu a úniky paměti
    • Průběžná integrace a testování pracovních postupů s Jenkins a CircleCI
  • Testování v Android (Kotlin)
    • Pokročilé testování JUnit a Espresso pro Android aplikace
    • Profilování výkonu a identifikace úzkých míst pomocí Android Profiler
    • Použití Firebase Test Lab pro automatizované testování na více zařízeních
  • React Nativní testování
    • Testování jednotek pomocí Jest a testování komponent pomocí Enzyme
    • End-to-end testování pomocí Detox a automatických testovacích nastavení
    • Profilování výkonu pomocí React Native Debugger a Flipper

11. týden: Nasazování aplikací a průběžná integrace

  • Nasazení App Store (iOS).
    • Příprava aplikace k odeslání: certifikáty App Store, zřizovací profily a testování beta verze TestFlight
    • Použití Fastlane pro automatizaci iOS nasazení aplikací
    • Správa App Store Connect a nastavení procesů kontroly aplikací
  • Nasazení Google Play (Android).
    • Příprava souboru APK a jeho podepsání pro odeslání Google Play
    • Automatizace Android nasazení aplikací pomocí Fastlane a Gradle
    • Používání Google Play Console ke kontrole aplikací a testování beta verze
  • Nastavení CI/CD potrubí
    • Konfigurace akcí Jenkins, GitHub nebo CircleCI pro automatizované kanály sestavení a nasazení
    • Použití Fastlane pro pracovní postupy iOS i Android CI/CD
    • Doporučené postupy pro správu verzí, čísla sestavení a kanály vydání

12. týden: Projekt Capstone

  • Konečný vývoj projektu
    • Navrhněte a vyviňte plně funkční aplikaci, která zahrnuje pokročilé funkce získané v průběhu kurzu.
    • Implementujte vlastní UI/UX, pokročilé animace, správu stavu, integraci nativních modulů a komunikaci API v reálném čase.
    • Optimalizujte výkon aplikace a nasaďte ji do App Store a Google Play.

Shrnutí a další kroky

Požadavky

  • Solidní porozumění programovacím konceptům, zejména v Swift, Kotlin a JavaScript
  • Předchozí zkušenosti s vytvářením základních iOS, Android nebo React nativních aplikací
  • Znalost návrhových vzorů jako MVC nebo MVVM a zkušenosti se základním řízením stavu

Publikum

  • Mobilní vývojáři
  • Programátoři
 420 hodiny

Počet účastníků


Price per participant

Reference (5)

Upcoming Courses

Související kategorie