iOS - zaawansowane tworzenie aplikacji
Czas trwania szkolenia:5 dni (40h)
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
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
Core Data
- Architektura i główne założenia
- Konfiguracja Core Data Stack
- Modelowanie encji
- Utrwalanie i ładowanie danych
- Wersjonowanie oraz migracja danych
- Dobre praktyki
Zaawansowane elementy SwiftUI
- Zarządzanie stanem oraz jego współdzielenie między widokami
- Zastosowanie matched geometry effect
- Wykorzystanie animacji
- Integracja z UIKit
Testowanie
- Dlaczego testowanie jest ważne?
- 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