Plan Szkolenia

Wprowadzenie

Tydzień 1: Przegląd Mobile Development

  • Ekosystem i platformy mobilne
    • Przegląd mobilnych systemów operacyjnych (iOS i Android)
    • Kluczowe różnice między iOS, Android i rozwojem międzyplatformowym
    • Popularne sklepy z aplikacjami (Apple App Store, Google Play Store)
    • Wprowadzenie do programowania natywnego, hybrydowego i międzyplatformowego
  • Natywne vs hybrydowe vs międzyplatformowe
    • Zalety i wyzwania związane z każdą z metod programowania
    • Przegląd Swift (dla iOS), Kotlin (dla Android) i React Native (cross-platform)
    • Jak kod przekłada się na platformy mobilne (Java Script na kod natywny w React Native)
  • Podstawy Programming
    • Wprowadzenie do koncepcji programowania (zmienne, typy danych, funkcje, przepływ sterowania)
    • Porównanie składni Swift, Kotlin i JavaScript
    • Pisanie prostych programów przy użyciu Swift, Kotlin i JavaScript
  • Konfigurowanie środowisk programistycznych
    • Instalowanie Xcode i Android Studio
    • Konfigurowanie React Native CLI i Expo
    • Uruchamianie podstawowych aplikacji "Hello World" na symulatorach i emulatorach

Tydzień 2: Wprowadzenie do Swift, Kotlin i JavaScript

  • Swift Programming dla iOS
    • Zmienne, stałe i typy danych w Swift
    • Instrukcje przepływu sterowania(if, switch, pętle)
    • Funkcje i parametry w Swift
    • Wprowadzenie do interfejsu Xcode i Swift Playgrounds
  • Kotlin Programming dla Android
    • Zmienne, typy danych i funkcje w Kotlin
    • Zrozumienie bezpieczeństwa null w Kotlin
    • Przepływ sterowania i struktury pętli
    • Wprowadzenie do interfejsu Android Studio i Kotlin Placu zabaw
  • Skrypt Java dla React Native
    • Zmienne, stałe i przepływ sterowania w JavaScript
    • Funkcje ES6: funkcje strzałek, literały szablonów i destrukturyzacja
    • Pisanie i uruchamianie podstawowych programów JavaScript w React Native przy użyciu Expo

Tydzień 3: iOS Projektowanie interfejsu użytkownika

  • Interfejs użytkownika Element w iOS
    • Wprowadzenie do UIKit i SwiftUI
    • Dodawanie i dostosowywanie elementów interfejsu użytkownika, takich jak przyciski, etykiety i pola tekstowe
    • Używanie Interface Builder do projektowania interfejsu użytkownika
    • Praca ze scenorysami i projektowanie wieloekranowych interfejsów użytkownika
  • Układ automatyczny i ograniczenia
    • Zrozumienie systemu Auto Layout
    • Korzystanie z ograniczeń dla responsywnych układów na różnych rozmiarach ekranu
    • Tworzenie widoków stosu i dynamiczne dostosowywanie elementów interfejsu użytkownika
  • SwiftPodstawy interfejsu użytkownika
    • Wprowadzenie do deklaratywnego projektowania interfejsu użytkownika w SwiftUI
    • Tworzenie prostych komponentów interfejsu użytkownika przy użyciu SwiftUI

Tydzień 4: Android Projektowanie interfejsu użytkownika

  • XML Układy w Android
    • Wprowadzenie do projektowania układów w oparciu o XML
    • Praca z typowymi układami: LinearLayout, RelativeLayout, ConstraintLayout
    • Dodawanie i dostosowywanie elementów interfejsu użytkownika: przyciski, widoki tekstowe, widoki obrazów
    • Korzystanie z ConstraintLayout dla responsywnych i dynamicznych układów
  • Material Design
    • Integracja zasad Material Design (kolory, ikony, typografia)
    • Korzystanie z komponentów Material Components (przyciski, pływające przyciski akcji, karty)
    • Wdrażanie motywów i stylizacji dla Android aplikacji

Tydzień 5: React Projektowanie natywnego interfejsu użytkownika

  • Natywny układ Flexbox React
    • Zrozumienie Flexbox dla projektowania responsywnego układu
    • Tworzenie układów opartych na kolumnach i wierszach
    • Stylizacja komponentów interfejsu użytkownika za pomocą właściwości Flexbox (justifyContent, alignItems itp.)
  • Natywne komponenty React
    • Praca z podstawowymi komponentami, takimi jak Text, View, TextInput i Button
    • Tworzenie interaktywnych elementów interfejsu użytkownika, takich jak formularze i przyciski
    • Używanie komponentu ScrollView do dynamicznej zawartości

Tydzień 6: Obsługa danych w iOS i Android

  • Obsługa danych iOS
    • Używanie UserDefaults do prostego przechowywania danych
    • Wprowadzenie do Core Data dla lokalnego przechowywania złożonych danych
    • Pobieranie danych z interfejsów API przy użyciu URLSession
    • Parsowanie danych JSON i wyświetlanie ich w interfejsie użytkownika
  • Android Obsługa danych
    • Używanie SharedPreferences do przechowywania niewielkich ilości danych
    • Wprowadzenie do SQLite i Room Persistence Library do zarządzania bazami danych
    • Pobieranie danych z interfejsów API przy użyciu Retrofit
    • Parsowanie JSON i obsługa odpowiedzi API

Tydzień 7: React Native State Management i interfejsy API

  • Stan i rekwizyty w React Native
    • Zarządzanie przepływem danych w komponentach React Native
    • Używanie haka useState do zarządzania stanem komponentów lokalnych
    • Przekazywanie danych między komponentami nadrzędnymi i podrzędnymi za pomocą rekwizytów
  • Pobieranie danych w React Native
    • Używanie Fetch API i Axios do wykonywania żądań HTTP
    • Wyświetlanie pobranych danych na listach (przy użyciu FlatList, SectionList)
    • Utrwalanie danych lokalnie przy użyciu AsyncStorage w React Native

Tydzień 8: Nawigacja w iOS i Android

  • Nawigacja iOS
    • Wprowadzenie do kontrolerów nawigacyjnych i zarządzanie wieloma ekranami
    • Używanie segmentów do przechodzenia między kontrolerami widoku
    • Przekazywanie danych między kontrolerami widoku
    • Implementowanie TabBar i NavigationBar do nawigacji strukturalnej
  • Nawigacja Android
    • Praca z Activities i intencjami dla aplikacji wieloekranowych
    • Przekazywanie danych między Activities przy użyciu Bundles
    • Tworzenie Navigation Drawer i BottomNavigationView
    • Wdrażanie fragmentów dla elastycznej nawigacji interfejsu użytkownika

Tydzień 9: Nawigacja w React Native

  • Podstawy nawigacji React
    • Instalowanie i konfigurowanie React Navigation
    • Używanie Stack Navigator do przejść między ekranami
    • Implementacja Tab Navigator i Drawer Navigator dla złożonej nawigacji
    • Przekazywanie parametrów między ekranami i zarządzanie stanem nawigacji

Tydzień 10: Funkcje zaawansowane

  • iOS Funkcje zaawansowane:
    • Podstawowa lokalizacja i mapy
      • [Lokalizacja urządzenia za pomocą Core Location
      • Wyświetlanie map przy użyciu MapKit
      • Obsługa geolokalizacji i śledzenie lokalizacji użytkownika
    • Aparat i multimedia
      • Accessingowanie aparatu urządzenia i biblioteki zdjęć
      • Przechwytywanie i wyświetlanie obrazów za pomocą UIImagePickerController
      • Przechowywanie i pobieranie plików multimedialnych
  • Android Funkcje zaawansowane
    • Lokalizacja i mapy
      • Korzystanie z interfejsu API Google Maps do wyświetlania map i lokalizacji użytkownika
      • [Wprowadzanie danych GPS i obsługa geolokalizacji
    • Aparat i multimedia
      • Używanie CameraX do robienia zdjęć i obsługi uprawnień kamery
      • Wyświetlanie obrazów i obsługa przechowywania multimediów
  • Natywne funkcje zaawansowane React
    • Natywne mapy React
      • Integracja map przy użyciu react-native-maps
      • Obsługa usług opartych na lokalizacji (geolokalizacja, wyznaczanie tras)
    • Dostęp do aparatu i multimediów
      • Korzystanie z biblioteki React Native Camera do robienia zdjęć
      • Przechowywanie multimediów i obsługa plików na urządzeniach Access

Tydzień 11: Debugowanie i testowanie

  • Debugowanie i testowanie iOS
    • Korzystanie z debuggera Xcode
      • Ustawianie punktów przerwania i sprawdzanie zmiennych w Xcode
      • Korzystanie z konsoli do debugowania w czasie rzeczywistym
      • Typowe problemy związane z debugowaniem i sposoby ich rozwiązywania
    • Testy jednostkowe w iOS
      • Pisanie i uruchamianie testów jednostkowych przy użyciu frameworka XCTest
      • Wyśmiewanie obiektów i testowanie komponentów interfejsu użytkownika
  • Debugowanie i testowanie w Android
    • Korzystanie z Logcat w Android Studio
      • Rejestrowanie i analizowanie błędów przy użyciu Logcat
      • Debugowanie Android aplikacji z punktami przerwania
    • Testowanie jednostkowe w Android
      • Pisanie testów jednostkowych przy użyciu JUnit
      • Testowanie Android komponentów interfejsu użytkownika za pomocą Espresso
  • Natywne debugowanie i testowanie React
    • Natywne narzędzia do debugowania React
      • Używanie Chrome DevTools i React Native Debugger do debugowania w czasie rzeczywistym
      • Dzienniki konsoli i sprawdzanie żądań sieciowych
    • Testowanie jednostkowe w React Native
      • Pisanie testów jednostkowych przy użyciu Jest i Enzyme
      • Testowanie komponentów React Native i zarządzanie przypadkami testowymi

Tydzień 12: Wdrażanie aplikacji i projekt Capstone

  • Wdrażanie i dystrybucja
    • Przesyłanie aplikacji do App Store iOS
      • Przygotowanie aplikacji do dystrybucji (ikony, certyfikaty, profile udostępniania)
      • Używanie App Store Connect do przesyłania aplikacji do recenzji
      • Korzystanie z TestFlight do testowania wersji beta
    • Przesyłanie do Sklepu Play Android
      • Przygotowanie APK i podpisanie aplikacji do dystrybucji
      • Korzystanie z Google Play Console do przesyłania i śledzenia aplikacji
      • Zrozumienie zasad i wytycznych Sklepu Play
  • Rozwój projektu Capstone
    • Opracowanie końcowego projektu
      • Tworzenie w pełni funkcjonalnej aplikacji
      • Włączanie zaawansowanych funkcji, takich jak wywołania API, nawigacja, multimedia i lokalizacja
      • Zaprezentowanie i zademonstrowanie ostatecznej wersji aplikacji rówieśnikom i instruktorom.

Podsumowanie i kolejne kroki

Wymagania

  • Podstawowe zrozumienie koncepcji programowania
  • Podstawowa znajomość JavaScript

Uczestnicy

  • Programiści mobilni
  • Programiści
 420 godzin

Liczba uczestników


cena netto za uczestnika

Opinie uczestników (5)

Propozycje terminów

Powiązane Kategorie