iOS - zaawansowane tworzenie aplikacji
LICZBA DNI: 5 (40h)
KOD KURSU: IOS/ADVANCED
O szkoleniu
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
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, Core Location czy Core Graphics
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, modułowość
- Czysta architektura
- Architektura w praktyce - implementacja wzorców MVC, VIPER, MVVM, Composable Architecture / Flux
Testowanie
- Dlaczego testowanie jest ważne?
- Kod niskiej jakości a testowanie
- Architektura aplikacji a testowanie
- Piramida testów
- Cechy dobrych testów
- Metryki pokrycia testami
- Przygotowanie i konfiguracja środowiska
- Testy jednostkowe
- Testy integracyjne
- Testy na poziomie UI
- Test Driven Development
Zaawansowane elementy SwiftUI i Combine
- Zarządzanie stanem oraz jego efektywne współdzielenie
- Tworzenie zaawansowanych i niestandardowych widoków
- Zastosowanie matched geometry effect
- Wykorzystanie animacji
- Integracja z UIKit
- SwiftUI na innych platformach
- Debugowanie i obsługa błędów na poziomie Combine
- Wykorzystanie / tworzenie reaktywnych rozszerzeń w kontekście istniejącego API
Core Data
- Architektura i główne założenia
- Konfiguracja Core Data Stack
- Modelowanie encji
- Utrwalanie i ładowanie danych
- Wersjonowanie oraz migracja danych
- Mierzenie i optymalizacja wydajności
- Dobre praktyki
Wybrane elementy SDK
- Core Location oraz praca z mapami
- Kamera i biblioteka zdjęć
- Core Graphics i Core animation
- Push Notifications
- Apple Pay i obsługa płatności
Wydajność i profilowanie
- Zaawansowane debugowanie aplikacji
- Podstawy wykorzystania Xcode Instruments
- Profilowanie wydajności
- Zarządzanie pamięcią i wykrywanie wycieków
