Zkuste nás kontaktovat

Návrh Školení

Úvod

Týden 1: Přehled mobilního vývoje

  • Mobilní ekosystém a platformy
    • Přehled mobilních operačních systémů (iOS a Android)
    • Klíčové rozdíly mezi vývojem pro iOS, Android a cross-platformou
    • Populární obchody s aplikacemi (Apple App Store, Google Play Store)
    • Úvod do nativního, hybridního a cross-platformního vývoje
  • Nativní vs. hybridní vs. cross-platformní
    • Výhody a výzvy každé metody vývoje
    • Přehled Swiftu (pro iOS), Kotlinu (pro Android) a React Native (cross-platforma)
    • Jak se kód převádí na mobilní platformy (JavaScript na nativní kód v React Native)
  • Základy programování
    • Úvod do programátorských pojmů (proměnné, datové typy, funkce, ovládání toku)
    • Srovnání syntaxe Swiftu, Kotliny a JavaScriptu
    • Nápis jednoduchých programů pomocí Swiftu, Kotliny a JavaScriptu
  • Nastavení vývojových prostředí
    • Instalace Xcode a Android Studio
    • Nastavení React Native CLI a Expo
    • Spuštění základních aplikací "Hello World" na simulátorech a emulátorech

Týden 2: Úvod do Swiftu, Kotliny a JavaScriptu

  • Programování Swiftem pro iOS
    • Proměnné, konstanty a datové typy v Swiftu
    • Enuntace ovládání toku (if, switch, smyčky)
    • Funkce a parametry v Swiftu
    • Úvod do rozhraní Xcode a Swift Playgrounds
  • Programování Kotlinou pro Android
    • Proměnné, datové typy a funkce v Kotlině
    • Pochopení ochrany proti null v Kotlině
    • Ovládání toku a struktury smyček
    • Úvod do rozhraní Android Studio a Kotlin Playground
  • JavaScript pro React Native
    • Proměnné, konstanty a ovládání toku v JavaScriptu
    • Funkce ES6: šipkové funkce, šablonové literály a destrukce
    • Nápis a spuštění základních JavaScriptových programů v React Native pomocí Expo

Týden 3: Design uživatelského rozhraní iOS

  • UI prvky v iOS
    • Úvod do UIKit a SwiftUI
    • Přidávání a přizpůsobování UI prvků, jako jsou tlačítka, popisky a textová pole
    • Používání Interface Builderu pro návrh UI
    • Práce se Storyboards a návrh UI se více obrazovkami
  • Auto Layout a omezení
    • Pochopení systému Auto Layout
    • Používání omezení pro responzivní rozložení na různých velikostech obrazovek
    • Vytváření zásobníkových pohledů a dynamické přizpůsobování UI prvků
  • Základy SwiftUI
    • Úvod do deklarativního designu UI v SwiftUI
    • Tvorba jednoduchých UI komponent pomocí SwiftUI

Týden 4: Design uživatelského rozhraní Android

  • XML rozložení v Android
    • Úvod do návrhu rozložení založeného na XML
    • Práce s běžnými rozloženími: LinearLayout, RelativeLayout, ConstraintLayout
    • Přidávání a přizpůsobování UI prvků: tlačítka, textové zobrazení, obrazové zobrazení
    • Používání ConstraintLayout pro responzivní a dynamická rozložení
  • Material Design
    • Integrace principů Material Design (barvy, ikony, typografie)
    • Používání Material Components (tlačítka, plovoucí akční tlačítka, karty)
    • Implementace témat a stylů pro Android aplikace

Týden 5: Design uživatelského rozhraní React Native

  • Flexbox rozložení v React Native
    • Pochopení Flexbox pro responzivní design rozložení
    • Vytváření sloupcových a řádkových rozložení
    • Stylizace UI komponent pomocí vlastností Flexbox (justifyContent, alignItems, apod.)
  • Komponenty React Native
    • Práce s jádrovými komponentami, jako jsou Text, View, TextInput a Button
    • Vytváření interaktivních UI prvků, jako jsou formuláře a tlačítka
    • Používání komponenty ScrollView pro dynamický obsah

Týden 6: Zpracování dat v iOS a Android

  • Zpracování dat v iOS
    • Používání UserDefaults pro jednoduchou perzistenci dat
    • Úvod do Core Data pro lokální úložiště složitých dat
    • Získávání dat z API pomocí URLSession
    • Parsování dat JSON a jejich zobrazení v UI
  • Zpracování dat v Android
    • Používání SharedPreferences pro ukládání malého množství dat
    • Úvod do SQLite a knihovny Room Persistence Library pro správu databází
    • Získávání dat z API pomocí Retrofit
    • Parsování JSON a zpracování odpovědí API

Týden 7: Správa stavu a API v React Native

  • Stav a Props v React Native
    • Správa toku dat uvnitř komponent React Native
    • Používání hooku useState pro správu lokálního stavu komponenty
    • Předávání dat mezi nadřazenou a podřízenou komponentou prostřednictvím props
  • Získávání dat v React Native
    • Používání Fetch API a Axiosu pro provádění HTTP požadavků
    • Zobrazení získaných dat v seznamech (pomocí FlatList, SectionList)
    • Perzistence dat lokálně pomocí AsyncStorage v React Native

Týden 8: Navigace v iOS a Android

  • Navigace v iOS
    • Úvod do navigačních kontrolerů a správy více obrazovek
    • Používání segue pro přechody mezi ovladači pohledů
    • Předávání dat mezi ovladači pohledů
    • Implementace TabBar a NavigationBar pro strukturovanou navigaci
  • Navigace v Android
    • Práce s Activities a Intents pro aplikace s více obrazovkami
    • Předávání dat mezi Activities pomocí Bundles
    • Vytváření Navigation Drawer a BottomNavigationView
    • Implementace fragmentů pro flexibilní navigaci UI

Týden 9: Navigace v React Native

  • Základy React Navigation
    • Instalace a nastavení React Navigation
    • Používání Stack Navigator pro přechody mezi obrazovkami
    • Implementace Tab Navigator a Drawer Navigator pro složitou navigaci
    • Předávání parametrů mezi obrazovkami a správa stavu navigace

Týden 10: Pokročilé funkce

  • Pokročilé funkce iOS:
    • Core location a mapy
      • Přístup k poloze zařízení pomocí Core Location
      • Zobrazení map pomocí MapKit
      • Zpracování geolokace a sledování polohy uživatele
    • Kamera a média
      • Přístup k kamerě zařízení a fotoalbumu
      • Snímání a zobrazení obrázků pomocí UIImagePickerController
      • Ukládání a načítání mediálních souborů
  • Pokročilé funkce Android
    • Polooha a mapy
      • Používání Google Maps API pro zobrazení map a polohy uživatele
      • Přístup k GPS datům a zpracování geolokace
    • Kamera a média
      • Používání CameraX pro snímkování fotografií a zpracování oprávnění kamery
      • Zobrazení obrázků a zpracování úložiště médií
  • Pokročilé funkce React Native
    • Mapy v React Native
      • Integrace map pomocí react-native-maps
      • Zpracování služeb založených na lokalitě (geolokace, mapování tras)
    • Přístup k camerě a médiím
      • Používání knihovny React Native Camera pro snímkování fotografií
      • Přístup k úložišti médií zařízení a zpracování souborů

Týden 11: Ladění a testování

  • Ladění a testování iOS
    • Používání ladíče Xcode
      • Nastavení přerušení a prozkoumávání proměnných v Xcode
      • Používání konzole pro ladění v reálném čase
      • Časté problémy s laděním a jejich řešení
    • Unit testování v iOS
      • Prášení a spuštění unit testů pomocí frameworku XCTest
      • Mokování objektů a testování UI komponent
  • Ladění a testování Android
    • Používání Logcat v Android Studio
      • Logování a analýza chyb pomocí Logcat
      • Ladění Android aplikací pomocí přerušení
    • Unit testování v Android
      • Prášení unit testů pomocí JUnit
      • Testování UI komponent Android pomocí Espresso
  • Ladění a testování React Native
    • Nástroje pro ladění React Native
      • Používání Chrome DevTools a React Native Debugger pro ladění v reálném čase
      • Logy konzole a prozkoumávání síťových požadavků
    • Unit testování v React Native
      • Prášení unit testů pomocí Jest a Enzyme
      • Testování komponent React Native a správa testovacích případů

Týden 12: Nasazení aplikací a závěrečný projekt

  • Nasazení a distribuce
    • Odeslání do iOS App Store
      • Příprava aplikace na distribuci (ikony, certifikáty, profilování)
      • Používání App Store Connect pro odeslání aplikace k revizi
      • Používání TestFlight pro beta testování
    • Odeslání do Android Play Store
      • Příprava APK a podepsání aplikace pro distribuci
      • Používání Google Play Console pro odeslání a sledování aplikace
      • Pochopení politik a směrnic Play Store
  • Vývoj závěrečného projektu
    • Vývoj závěrečného projektu
      • Tvorba plně funkční aplikace vaší volby
      • Zarazování pokročilých funkcí, jako jsou API volání, navigace, média a poloha
      • Prezentace a demo závěrečné aplikace před spolužáky a instruktory

Shrnutí a další kroky

Požadavky

  • Základní porozumění programátorským pojmům
  • Základní znalosti JavaScriptu

Cílová skupina

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

Počet účastníků


Cena za účastníka

Reference (3)

Nadcházející kurzy

Související kategorie