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
- Rozszerzenie wiedzy o zagadnienia zaawansowane m.in. poprawna architektura aplikacji, testowanie, profilowanie wydajności, diagnozowanie problemów
- Poznanie istotnych elementów SDK takich jak Core Data czy Core Location
- Nabycie wiedzy niezbędnej do tworzenia atrakcyjnego interfejsu użytkownika
Program
Architektura aplikacji iOS
- Czym jest architektura i jakie ma znaczenie?
- Spójność, niskie sprzężenie, programowanie z użyciem kontraktów / protokołów
- Moduły i ich granice, mapowanie modelu danych między warstwami
- Poprawna organizacja kodu i komponentów w projekcie
- Wstrzykiwanie zależności
- Czysta architektura w praktyce
- Przegląd alternatywnych podejść: VIPER, Composable Architecture
Praca z kodem wielowątkowym i asynchronicznym
- Podstawy użycia GDC
- Async / await
- Structured concurrency
- Actors
- Migracja istniejącego kodu opartego o callbacks oraz Result
- Integracja z kodem synchronicznym
Programowanie reaktywne
- Wprowadzenie do Combine framework
- Publikowanie i nasłuchiwanie zdarzeń
- Podstawowe operatory - transformacja, filtrowanie i kombinowanie zdarzeń
- Zmiana kontekstu wykonania z użyciem Schedulers
- Aplikacje bezstanowe i praca ze strumieniami
- Debugowanie i obsługa błędów na poziomie
Core Data
- Architektura i główne założenia
- Konfiguracja Core Data Stack
- Modelowanie encji
- Composite attributes
- Utrwalanie i ładowanie danych
- Wersjonowanie oraz migracja danych
- Dobre praktyki
- Core Data vs. SwiftData
Zaawansowane elementy SwiftUI
- Zarządzanie stanem oraz jego współdzielenie między widokami
- Zastosowanie matched geometry effect
- Animacje
- Wykresy
- Integracja z UIKit
- Budowanie widgetów
- Budowanie interfejsów przestrzennych (opcjonalnie)