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,TextInputiButton - Tworzenie interaktywnych elementów interfejsu, takich jak formularze i przyciski
- Używanie komponentu
ScrollViewdo dynamicznej zawartości
- Praca z podstawowymi komponentami, takimi jak
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
useStatedo 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
- Lokalizacja i mapy
- 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
- Lokalizacja i mapy
- 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)
- Integracja map przy użyciu
- 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
- Mapy w React Native
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
- Używanie debuggera Xcode
- 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
- Używanie Logcat w Android Studio
- 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
- Narzędzia do debugowania React Native
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
- Zgłaszanie aplikacji do App 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
- Tworzenie finalnego projektu
Podsumowanie i kolejne kroki
Wymagania
- Podstawowa znajomość koncepcji programowania
- Podstawowa wiedza o JavaScript
Grupa docelowa
- Programiści aplikacji mobilnych
- Programiści
Opinie uczestników (4)
Wszystko jest w porządku.
Adrian Rybka - SEOyon
Szkolenie - Flutter Development Bootcamp with Dart
Przetłumaczone przez sztuczną inteligencję
Bardzo przydatne dodatkowe informacje
Grzegorz - Comp S.A.
Szkolenie - BLoC Pattern
Przetłumaczone przez sztuczną inteligencję
Tworzenie aplikacji do uwierzytelniania użytkowników i aktywności kahoot (upewniłem się, że wchłaniam materiały szkoleniowe :) i to jest zabawne!)
Jhoanne - Pag-IBIG Fund
Szkolenie - .NET MAUI Fundamentals
Przetłumaczone przez sztuczną inteligencję
Jego wiedza i cierpliwość.
Chrisna - Agricatural Research Council
Szkolenie - Ionic 4 and Angular for Developers
Przetłumaczone przez sztuczną inteligencję