Bądźmy w kontakcie

Plan Szkolenia

Wprowadzenie

Tydzień 1: Przegląd rozwoju aplikacji mobilnych

  • Ekosystem mobilny i platformy
    • Przegląd systemów operacyjnych mobilnych (iOS i Android)
    • Kluczowe różnice między iOS, Android a rozwojem wieloplatformowym
    • Popularne sklepy z aplikacjami (Apple App Store, Google Play Store)
    • Wprowadzenie do rozwoju natywnego, hybrydowego i wieloplatformowego
  • Natywny vs Hybrydowy vs Wieloplatformowy
    • Zalety i wyzwania każdej metody rozwoju
    • Przegląd Swift (dla iOS), Kotlin (dla Android) i React Native (wieloplatformowy)
    • Jak kod przekłada się na platformy mobilne (JavaScript na kod natywny w React Native)
  • Podstawy programowania
    • Wprowadzenie do koncepcji programowania (zmienne, typy danych, funkcje, kontrola przepływu)
    • Porównanie składni Swift, Kotlin i JavaScript
    • Pisanie prostych programów przy użyciu Swift, Kotlin i JavaScript
  • Konfiguracja środowisk programistycznych
    • Instalacja Xcode i Android Studio
    • Konfiguracja React Native CLI i Expo
    • Uruchamianie podstawowych aplikacji "Hello World" na symulatorach i emulatorach

Tydzień 2: Wprowadzenie do Swift, Kotlin i JavaScript

  • Programowanie Swift dla iOS
    • Zmienne, stałe i typy danych w Swift
    • Instrukcje kontroli przepływu (if, switch, pętle)
    • Funkcje i parametry w Swift
    • Wprowadzenie do interfejsu Xcode i Swift Playgrounds
  • Programowanie Kotlin dla Android
    • Zmienne, typy danych i funkcje w Kotlin
    • Zrozumienie bezpieczeństwa null w Kotlin
    • Kontrola przepływu i struktury pętli
    • Wprowadzenie do interfejsu Android Studio i Kotlin Playground
  • JavaScript dla React Native
    • Zmienne, stałe i kontrola przepływu w JavaScript
    • Funkcje ES6: funkcje strzałkowe, literały szablonowe i destrukturyzacja
    • Pisanie i uruchamianie podstawowych programów w JavaScript w React Native przy użyciu Expo

Tydzień 3: Projektowanie interfejsu użytkownika w iOS

  • Elementy interfejsu w iOS
    • Wprowadzenie do UIKit i SwiftUI
    • Dodawanie i dostosowywanie elementów interfejsu, takich jak przyciski, etykiety i pola tekstowe
    • Używanie Interface Buildera do projektowania interfejsu
    • Praca ze Storyboardami i projektowanie wieloekranowych interfejsów
  • Auto Layout i ograniczenia
    • Zrozumienie systemu Auto Layout
    • Używanie ograniczeń do tworzenia responsywnych układów na różnych rozmiarach ekranów
    • Tworzenie widoków stosów i dynamiczne dostosowywanie elementów interfejsu
  • Podstawy SwiftUI
    • Wprowadzenie do deklaratywnego projektowania interfejsu w SwiftUI
    • Tworzenie prostych komponentów interfejsu przy użyciu SwiftUI

Tydzień 4: Projektowanie interfejsu użytkownika w Android

  • Układy XML w Android
    • Wprowadzenie do projektowania układów opartych na XML
    • Praca z popularnymi układami: LinearLayout, RelativeLayout, ConstraintLayout
    • Dodawanie i dostosowywanie elementów interfejsu: przyciski, widoki tekstowe, widoki obrazów
    • Używanie ConstraintLayout do tworzenia responsywnych i dynamicznych układów
  • Material Design
    • Integracja zasad Material Design (kolory, ikony, typografia)
    • Używanie komponentów Material (przyciski, pływające przyciski akcji, karty)
    • Implementacja motywów i stylów dla aplikacji Android

Tydzień 5: Projektowanie interfejsu użytkownika w React Native

  • Układ Flexbox w React Native
    • Zrozumienie Flexbox do projektowania responsywnych układów
    • Tworzenie układów opartych na kolumnach i wierszach
    • Stylowanie komponentów interfejsu przy użyciu właściwości Flexbox (justifyContent, alignItems itp.)
  • Komponenty React Native
    • Praca z podstawowymi komponentami, takimi jak Text, View, TextInput i Button
    • Tworzenie interaktywnych elementów interfejsu, takich jak formularze i przyciski
    • Używanie komponentu ScrollView do dynamicznej zawartości

Tydzień 6: Zarządzanie danymi w iOS i Android

  • Zarządzanie danymi w iOS
    • Używanie UserDefaults do prostej trwałości danych
    • Wprowadzenie do Core Data do lokalnego przechowywania złożonych danych
    • Pobieranie danych z API przy użyciu URLSession
    • Parsowanie danych JSON i wyświetlanie ich w interfejsie
  • Zarządzanie danymi w Android
    • Używanie SharedPreferences do przechowywania małych ilości danych
    • Wprowadzenie do SQLite i Room Persistence Library do zarządzania bazami danych
    • Pobieranie danych z API przy użyciu Retrofit
    • Parsowanie JSON i obsługa odpowiedzi API

Tydzień 7: Zarządzanie stanem i API w React Native

  • Stan i właściwości w React Native
    • Zarządzanie przepływem danych w komponentach React Native
    • Używanie hooka useState do zarządzania lokalnym stanem komponentu
    • Przekazywanie danych między komponentami nadrzędnymi i podrzędnymi za pomocą właściwości
  • Pobieranie danych w React Native
    • Używanie Fetch API i Axios do wysyłania żądań HTTP
    • Wyświetlanie pobranych danych na listach (przy użyciu FlatList, SectionList)
    • Trwałe przechowywanie danych lokalnie przy użyciu AsyncStorage w React Native

Tydzień 8: Nawigacja w iOS i Android

  • Nawigacja w iOS
    • Wprowadzenie do kontrolerów nawigacji i zarządzania wieloma ekranami
    • Używanie segue do przechodzenia między kontrolerami widoków
    • Przekazywanie danych między kontrolerami widoków
    • Implementacja TabBar i NavigationBar do strukturalnej nawigacji
  • Nawigacja w Android
    • Praca z Activity i Intentami do tworzenia aplikacji wieloekranowych
    • Przekazywanie danych między Activity przy użyciu Bundles
    • Tworzenie Navigation Drawer i BottomNavigationView
    • Implementacja fragmentów do elastycznej nawigacji interfejsu

Tydzień 9: Nawigacja w React Native

  • Podstawy React Navigation
    • Instalacja i konfiguracja React Navigation
    • Używanie Stack Navigator do przechodzenia między ekranami
    • Implementacja Tab Navigator i Drawer Navigator do złożonej nawigacji
    • Przekazywanie parametrów między ekranami i zarządzanie stanem nawigacji

Tydzień 10: Zaawansowane funkcje

  • Zaawansowane funkcje iOS:
    • Lokalizacja i mapy
      • Dostęp do lokalizacji urządzenia za pomocą Core Location
      • Wyświetlanie map przy użyciu MapKit
      • Obsługa geolokalizacji i śledzenia lokalizacji użytkownika
    • Kamera i multimedia
      • Dostęp do aparatu i biblioteki zdjęć urządzenia
      • Przechwytywanie i wyświetlanie obrazów za pomocą UIImagePickerController
      • Przechowywanie i pobieranie plików multimedialnych
  • Zaawansowane funkcje Android
    • Lokalizacja i mapy
      • Używanie Google Maps API do wyświetlania map i lokalizacji użytkownika
      • Dostęp do danych GPS i obsługa geolokalizacji
    • Kamera i multimedia
      • Używanie CameraX do przechwytywania zdjęć i obsługi uprawnień aparatu
      • Wyświetlanie obrazów i obsługa przechowywania multimediów
  • Zaawansowane funkcje React Native
    • Mapy w React Native
      • Integracja map przy użyciu react-native-maps
      • Obsługa usług opartych na lokalizacji (geolokalizacja, mapowanie tras)
    • Dostęp do kamery i multimediów
      • Używanie biblioteki React Native Camera do przechwytywania zdjęć
      • Dostęp do pamięci urządzenia i obsługa plików

Tydzień 11: Debugowanie i testowanie

  • Debugowanie i testowanie w iOS
    • Używanie debuggera Xcode
      • Ustawianie punktów przerwania i inspekcja zmiennych w Xcode
      • Używanie konsoli do debugowania w czasie rzeczywistym
      • Typowe problemy z debugowaniem i ich rozwiązania
    • Testowanie jednostkowe w iOS
      • Pisanie i uruchamianie testów jednostkowych przy użyciu frameworka XCTest
      • Mockowanie obiektów i testowanie komponentów interfejsu
  • Debugowanie i testowanie w Android
    • Używanie Logcat w Android Studio
      • Logowanie i analiza błędów przy użyciu Logcat
      • Debugowanie aplikacji Android za pomocą punktów przerwania
    • Testowanie jednostkowe w Android
      • Pisanie testów jednostkowych przy użyciu JUnit
      • Testowanie komponentów interfejsu Android za pomocą Espresso
  • Debugowanie i testowanie w React Native
    • Narzędzia do debugowania React Native
      • Używanie Chrome DevTools i React Native Debugger do debugowania w czasie rzeczywistym
      • Logi konsoli i inspekcja żą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 końcowy

  • Wdrażanie i dystrybucja
    • Zgłaszanie aplikacji do App Store
      • Przygotowanie aplikacji do dystrybucji (ikony, certyfikaty, profile provisioningu)
      • Używanie App Store Connect do zgłaszania aplikacji do recenzji
      • Używanie TestFlight do testowania beta
    • Zgłaszanie aplikacji do Google Play Store
      • Przygotowanie APK i podpisywanie aplikacji do dystrybucji
      • Używanie Google Play Console do zgłaszania i śledzenia aplikacji
      • Zrozumienie zasad i wytycznych Google Play Store
  • Rozwój projektu końcowego
    • Tworzenie finalnego projektu
      • Budowa w pełni funkcjonalnej aplikacji według własnego wyboru
      • Wprowadzenie zaawansowanych funkcji, takich jak wywołania API, nawigacja, multimedia i lokalizacja
      • Prezentacja i demonstracja finalnej aplikacji przed kolegami i instruktorami

Podsumowanie i kolejne kroki

Wymagania

  • Podstawowa znajomość koncepcji programowania
  • Podstawowa wiedza o JavaScript

Grupa docelowa

  • Programiści aplikacji mobilnych
  • Programiści
 420 godzin

Liczba uczestników


Cena za uczestnika (netto)

Opinie uczestników (4)

Propozycje terminów

Powiązane Kategorie