Programowanie w języku Swift
Czas trwania szkolenia:3 dni (24h)
Kod kursu:SWIFT/PROG
Poziom zaawansowania:
Szkolenie na zamówienie
Szkolenie dostosowane do potrzeb Twojego zespołu. Dostępne wyłącznie na zamówienie.
- Dostosowany program
- Indywidualna wycena
- Dowolny termin
O szkoleniu Programowanie w języku Swift
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
- Podstawowa umiejętność programowania w dowolnym języku obiektowym
Zalety
- Warsztatowy charakter zajęć - nauka przez praktykę, duża ilość ćwiczeń i przykładów
- Zwrócenie szczególnej uwagi na obowiązujące konwencje oraz najlepsze praktyki związane z wykorzystaniem języka Swift
- 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
- Kompleksowe wprowadzenie do składni języka, obowiązujących konwencji oraz najważniejszych idiomów programistycznych
- Pokazanie najważniejszych element ów SDK
- Zapoznanie z dostępnymi narzędziami deweloperskimi
Program
Wprowadzenie do języka Swift
- Charakterystyka, najważniejsze cechy i typowe zastosowanie Swift
- Xcode jako środowisko deweloperskie
- Podstawowe typy danych
- Stałe i zmienne
- Wnioskowanie typu vs. jego jawna deklaracja
- Operatory
- Instrukcje sterujące
- Praca z tekstem
- Praca z wartościami numerycznymi
- Konwersja typów
Konstrukcje i idiomy programistyczne
- Krotki
- Typy opcjonalne
- Struktury
- Properties (stored, lazy, computed, observers, wrappers)
- Wyliczenia
- Funkcje oraz domknięcia
- Moduły
Programowanie obiektowe
- Omówienie / przypomnienie najważniejszych pojęć z OOP
- Wykorzystanie klas i protokołów
- Hermetyzacja i kontrola dostępu
- Inicjalizacja i sprzątanie
- Dziedziczenie
- Rozszerzenia
- Typy generyczne
- Opaque types
- Elementy statyczne
- Porównywanie obiektów
- ARC i zarządzanie pamięcią
Biblioteka standardowa
- Kolekcje i ich wykorzystanie
- Obsługa wyjątków
- Przeciążanie operatorów
- Najważniejsze elementy SDK
Praca z kodem wielowątkowym i/lub asynchronicznym
- Async / await
- Structured concurrency
- Actors
- Migracja kodu opartego o callbacks oraz Result
- Integracja z kodem synchronicznym
Programowanie funkcyjne
- Pure functions
- Referential transparency
- Rekurencja
- Pattern matching
- Funkcje wyższego rzędu
- Funkcje polimorficzne
- Kompozycja, częściowa aplikacja, currying
- Funkcyjne struktury danych
- Wprowadzenie do Type classes - Functors, Applicatives, Monads
- Efekty uboczne i interakcja ze środowiskiem zewnętrznym