Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
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
iButton
- Tworzenie interaktywnych elementów interfejsu użytkownika, takich jak formularze i przyciski
- Używanie komponentu
ScrollView
do dynamicznej zawartości
- Praca z podstawowymi komponentami, takimi jak
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
- Podstawowa lokalizacja i mapy
- 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
- Lokalizacja i mapy
- 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)
- Integracja map przy użyciu
- 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
- Natywne mapy React
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
- Korzystanie z debuggera Xcode
- 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
- Korzystanie z Logcat w Android Studio
- 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
- Natywne narzędzia do debugowania React
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
- Przesyłanie aplikacji do App Store iOS
- 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.
- Opracowanie końcowego projektu
Podsumowanie i kolejne kroki
Wymagania
- Podstawowe zrozumienie koncepcji programowania
- Podstawowa znajomość JavaScript
Uczestnicy
- Programiści mobilni
- Programiści
420 godzin