iOS - zaawansowane tworzenie aplikacji
Czas trwania szkolenia:3 dni (24h)
Kod kursu:IOS/ADVANCED
Poziom zaawansowania:
O szkoleniu iOS - zaawansowane tworzenie aplikacji
W cenie otrzymasz:
- Materiały szkoleniowe
- Certyfikat ukończenia szkolenia
- W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Dla kogo?
- Szkolenie dedykowane dla osób znających platformę iOS, chcących poznać bardziej zaawansowane aspekty, dotyczące między innymi architektury, dobrych praktyk, wykorzystania dostępnych narzędzi oraz SDK
Wymagania
- Od uczestników szkolenia wymagana jest praktyczna umiejętność programowania w języku Swift, a także podstawowa znajomość platformy iOS
Zalety
- Rozbudowana część warsztatowa pomagająca zrozumieć i przyswoić omawiane zagadnienia
- Duża ilość kompletnych i życiowych przykładów
- Uczestnicy zdobywają ogromną dawkę wiedzy i przykłady gotowe do wykorzystania podczas realizacji własnych projektów
- Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
- Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
- Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
Cele szkolenia
- Nabycie wiedzy niezbędnej do tworzenia warstwy utrwalania z wykorzystaniem Core Data oraz SwiftData
- Rozszerzenie wiedzy o zagadnienia zaawansowane m.in. poprawna architektura aplikacji, testowanie/profilowanie wydajności, diagnozowanie problemów
- Zrozumienie i przyswojenie wiedzy z zakresu budowania bezpiecznego kodu wielowątkowego/asynchronicznego
- Poznanie podstaw podejścia reaktywnego oraz biblioteki Combine
Program
Architektura aplikacji iOS
- Czym jest architektura i jakie ma znaczenie?
- Spójność, niskie sprzężenie, programowanie z użyciem kontraktów/protokołów
- Wstrzykiwanie zależności
- Logika biznesowa vs. reszta kodu
- Modularyzacja aplikacji
- MVVM i inne podejścia do organizacji kodu w projekcie
- Czysta architektura w praktyce
Praca z kodem wielowątkowym i asynchronicznym
- Podstawy użycia GDC oraz Operations
- Async/await
- Structured concurrency
- Actors jako sposób na bezpieczne operowanie na współdzielonym stanie
- Integracja z kodem opartym o callbacks oraz typ Result
Programowanie reaktywne
- Wprowadzenie do Combine framework
- Publikowanie i nasłuchiwanie zdarzeń
- Operatory umożliwiające m.in. transformację, filtrowanie i kombinowanie zdarzeń
- Subjects
- Zmiana kontekstu wykonania z użyciem Schedulers
- Aplikacje bezstanowe i praca ze strumieniami
- Debugowanie i obsługa błędów
Core Data
- Architektura i główne założenia Core Data
- Konfiguracja Core Data Stack
- Modelowanie encji
- Utrwalanie i ładowanie danych
- Wykonywanie zapytań z użyciem predykatów
- Wersjonowanie oraz migracja danych
SwiftData
- Wprowadzenie i konfiguracja
- Przygotowanie modelu danych
- Operacje CRUD
- Wykonywanie zapytań oraz filtrowanie i sortowanie danych
- Zarządzanie relacjami
- Integracja z SwiftUI