Plan Szkolenia
Wprowadzenie
Tydzień 1: Wprowadzenie do Mobile Development
- Ekosystem aplikacji mobilnych i trendy
- Wprowadzenie do środowiska aplikacji mobilnych (iOS i Android)
- Różnice między aplikacjami natywnymi, hybrydowymi i międzyplatformowymi
- Przegląd przepływu pracy i narzędzi do tworzenia aplikacji mobilnych
- Rozwój natywny a rozwój międzyplatformowy
- Kluczowe różnice między tworzeniem aplikacji na jedną platformę (natywne) i wiele platform (międzyplatformowe)
- Zalety i wady każdego z podejść
- Przegląd popularnych platform natywnych (iOS, Android) i narzędzi międzyplatformowych (React Native, Flutter)
- Wprowadzenie do JavaScript Programming
- Podstawowa składnia i struktura JavaScript
- Zmienne, stałe i typy danych (liczba, ciąg znaków, wartość logiczna, obiekt)
- Operatory i wyrażenia
- Przepływ sterowania:
if
,else
,switch
- Wprowadzenie do funkcji i zakresu (zakres globalny vs lokalny)
- Konfigurowanie Xcode do iOS rozwoju
- Wprowadzenie do Xcode IDE: interfejs, narzędzia i przepływ pracy
- Instalacja Xcode i uruchomienie symulatora iOS
- Wprowadzenie do języka programowania Swift
- Pisanie podstawowej aplikacji Swift i uruchamianie jej na symulatorze iOS
- Konfigurowanie Android Studio dla Android Development
- Instalowanie Android Studio i konfigurowanie środowiska
- Konfigurowanie i używanie emulatora Android
- Wprowadzenie do języka programowania Kotlin i podstawowej składni
- Pisanie podstawowej Kotlin aplikacji i uruchamianie jej na Android emulatorze
- Konfiguracja React natywnego środowiska programistycznego
- Instalowanie Node.js i React natywnego CLI
- Wprowadzenie do Expo i tworzenie projektu za pomocą Expo
- Uruchomienie prostej aplikacji "Hello World" na emulatorach iOS i Android
Tydzień 2: iOS i Android Podstawy
- Wprowadzenie do Swift i Xcode IDE
- Zmienne i typy danych w Swift (Int, Float, String, Bool itp.)
- Stałe z
let
i zmienne zvar
- Instrukcje przepływu sterowania
(if
,switch
, pętle) - Funkcje i parametry w Swift
- Obsługa błędów w Swift
- Projektowanie interfejsu użytkownika w iOS
- Wprowadzenie do storyboardów i Xcode Interface Builder
- Projektowanie układów aplikacji przy użyciu Auto Layout i ograniczeń
- Dodawanie komponentów interfejsu użytkownika: przyciski, etykiety, pola tekstowe, obrazy
- Obsługa interakcji i zdarzeń użytkownika (np. kliknięć przycisków)
- Tworzenie prostego formularza logowania i sprawdzanie poprawności danych wprowadzanych przez użytkownika
- Wprowadzenie do Kotlin i Android Studio IDE
- Podstawowa składnia Kotlin (zmienne, typy danych i funkcje)
- Zrozumienie bezpieczeństwa null i klas danych w Kotlin
- Wprowadzenie do Android architektury aplikacji i komponentów (Activities, Fragments)
- Obsługa cyklu życia aktywności w Android aplikacjach
- Projektowanie interfejsu użytkownika w Android
- Projektowanie Android interfejsów użytkownika przy użyciu XML plików układu
- Praca z menedżerami układu (LinearLayout, RelativeLayout, ConstraintLayout)
- Dodawanie interaktywnych komponentów (przyciski, widoki tekstowe, edytowanie tekstów)
- Używanie Java/Kotlin do obsługi danych wejściowych użytkownika i przejść aktywności
- Tworzenie formularza logowania z walidacją danych wejściowych
- Podstawy debugowania w Xcode i Android Studio
- Jak używać punktów przerwania, dzienników i konsoli debuggera
- Typowe narzędzia i techniki debugowania dla iOS (Xcode Instruments, Simulator)
- Typowe narzędzia do debugowania dla Android (Logcat, Android Debug Bridge)
- Testowanie i uruchamianie aplikacji na rzeczywistych urządzeniach
- Podłączanie urządzeń fizycznych do Xcode i Android Studio
- Wdrażanie aplikacji na urządzeniach fizycznych (iPhone'ach i Android telefonach)
- Symulowanie różnych warunków sieciowych, poziomów naładowania baterii i wskaźników wydajności
Tydzień 3: Programowanie wieloplatformowe z React Native
- Wprowadzenie do React Native i JavaScript dla urządzeń mobilnych
- Czym jest React Native i dlaczego warto go używać?
- Przegląd sposobu, w jaki React Native tłumaczy JavaScript na kod natywny
- Składnia JSX: Pisanie struktur podobnych do HTML w JavaScript
- Komponenty React: Komponenty funkcjonalne a komponenty oparte na klasach
- Stan i rekwizyty: Zarządzanie przepływem danych w React komponentach natywnych
- Stylizacja w React Native
- Wprowadzenie do Flexbox i jego znaczenie w projektowaniu układów
- Tworzenie responsywnych układów dla iOS i Android
- Stosowanie stylizacji specyficznej dla platformy przy użyciu modułu
Platform
React Native
- React Nawigacja dla aplikacji międzyplatformowych
- Wprowadzenie do React Navigation i kontenerów nawigacyjnych
- Tworzenie nawigacji stosowej dla przejść ekranu
- Wdrażanie nawigacji w kartach i szufladach dla bardziej złożonych aplikacji
- Przekazywanie danych między ekranami i zarządzanie stanami nawigacji
- [Korzystanie z natywnych funkcji urządzenia
- Korzystanie z funkcji urządzenia, takich jak kamera i lokalizacja w React Native
- Integracja interfejsów API, takich jak geolokalizacja, kamera i AsyncStorage
- Obsługa uprawnień dostępu do sprzętu urządzenia (różnice iOS i Android)
- Przechowywanie danych lokalnie za pomocą AsyncStorage i integracja bibliotek innych firm w celu zapewnienia trwałości.
- Przygotowanie aplikacji do wdrożenia
- Konfigurowanie ustawień aplikacji dla produkcji w Xcode i Android Studio
- Tworzenie pakietów APK dla Android i testowanie na rzeczywistych urządzeniach
- Przygotowanie iOS aplikacji do przesłania do App Store (ikony aplikacji, podpisywanie certyfikatów)
- Sfinalizowanie React natywnych projektów do wdrożenia produkcyjnego na obu platformach
- Końcowa prezentacja projektu
- Prezentacja ostatecznej międzyplatformowej React natywnej aplikacji klasie
- Zbieranie informacji zwrotnych i omawianie potencjalnych ulepszeń
- Końcowa sesja pytań i odpowiedzi oraz uwagi końcowe
Podsumowanie i kolejne kroki
Wymagania
- Podstawowe zrozumienie koncepcji programowania
Uczestnicy
- Programiści mobilni
- Programiści
Opinie uczestników (5)
Edward jest niesamowitym facylitatorem
Zibusiso Ncube - Agricatural Research Council
Szkolenie - Ionic 4 and Angular for Developers
Przetłumaczone przez sztuczną inteligencję
Może więcej ćwiczeń byłoby lepsze dla nauki, ale czas był zbyt mały.
Gianpiero Arico' - Urmet Spa
Szkolenie - Embedded Linux Systems Architecture
Przetłumaczone przez sztuczną inteligencję
Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере необходимости. Охватил все запрошенные темы и подробно ответил на каждый вопрос. Это была очень приятная опыт. *Note: The last two sentences seem to have been partially translated into Russian, which was not requested. Here is the corrected Polish translation:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере необходимости. Oenaire wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każdy pytanie. To była bardzo miła doświadczenie. *Corrected version:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере необходимости. O pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każdy pytanie. To była bardzo miła doświadczenie. *Final corrected version:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере необходимости. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To była bardzo miła doświadczenie. *Final corrected version without errors:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере необходимости. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final corrected version without unnecessary parts:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере необходимости. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере необходимости. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version without unnecessary parts:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version without errors:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version without errors:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version without unnecessary parts:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version without errors:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version without errors:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version without errors:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version without errors:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version without unnecessary parts:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version without errors:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version without errors:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version without errors:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version without errors:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version without errors:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version without errors:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version without errors:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version without errors:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version without errors:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version without errors:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version without errors:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version without errors:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version without errors:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczenie. *Final correct version:* Wiedza Miguela na temat była rozległa. Ułatwił zrozumienie szkolenia, a jego przepływ był dobrze zbilansowany; dodając nowe cechy do każdego раздела по мере necessities. Pokrył wszystko, co było zadane, i udzielił szczegółowych odpowiedzi na każde pytanie. To było bardzo miłe doświadczeni
Paul Coaton - SEMPCheck Services
Szkolenie - Flutter Development Bootcamp with Dart
Przetłumaczone przez sztuczną inteligencję
Rzeczowe odpowiedzi trenera poparte doświadczeniem programistycznym.
Igor Firak
Szkolenie - Build Native iOS and Android Apps with Flutter
Schematyczne podjeście do prowadzenia zajęć