| Tytuł: | Wprowadzenie do iOS (Swift) |
| Kod: | ios-swift |
| Kategoria: | iOS |
| Forma: | 50% wykłady / 50% warsztaty |
| Czas trwania: | 3 dni |
| Odbiorcy: | developerzy |
| Zapisy: |
Indywidualne zamówienie i dopasowanie dla grupy. |
| Logistyka: |
W siedzibie klienta lub w innym dowolnym miejscu. |
Jest to szkolenie wprowadzające w meandry budowania aplikacji dla systemu iOS (opcja tylko z językiem Swift).
Trzydniowe szkolenie zaprojektowane jest w taki sposób, aby po jego zakończeniu uczestnik był w stanie samodzielnie zbudować i przetestować prostą aplikację.
Pierwszy dzień - to intensywne wprowadzenie w dwie podstawowe rzeczy wymagane aby móc pracować z systemem iOS: zarządzanie pamięcią i język Swift. Są to dwa powiązane ze sobą elementy, których zrozumienie i przyswojenie pozwala w kolejnych dniach skupić się na eksplorowaniu dobrych praktyk budowy i testowania aplikacji.
Drugiego dnia uczestnicy poznają podstawowe wzorce stosowane na platformie iOS oraz podstawową budowę każdej aplikacji. Przyjrzymy się kilku wzorcom architektonicznym pod kątem łatwości budowania aplikacji i możliwości późniejszego jej testowania. Obszerną częścią tego dnia jest wprowadzenie do budowania interfejsu aplikacji. W tej części uczestnicy poznają dwa podstawowe frameworki: klasyczny UIKit oraz nowoczesny SwiftUI.
Ostatniego dnia skupimy się na zagadnieniach związanych z testowaniem. Przechodząc przez podstawy zasad testowania, praktyki i dostępne narzędzia postaramy się odpowiedzieć na pytanie, w jaki sposób najlepiej zadbać o jakość aplikacji. Które części aplikacji powinny być testowane, a które niekoniecznie. Odkryjemy, w jaki sposób powinna być zbudowana aplikacja i testy aby dało się przetestować dowolny jej ekran bez konieczności “dochodzenia” do niego w wielu krokach.
Program Szkolenia
Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.-
Swift - podstawy- Składnia języka - ogólne wprowadzenie
- Zarządzanie pamięcią
- Wprowadzenie teoretyczne
- ARC
- Podstawy
- Praktyczne przykłady
- Jak unikać wycieków pamięci (i dlaczego to jest groźne)
- Podstawy
- Wprowadzenie teoretyczne
- Zmienne i stałe
- Optionals
- Optionals
- Podstawowe typy danych
- String, interpolacja stringów
- Liczby
- Kolekcje
- String, interpolacja stringów
- Sterowanie przepływem
- Instrukcje warunkowe
- Pętle
- Instrukcje warunkowe
- Operatory
- Klasy i struktury
- Właściwości klas
- Poziomy dostępu
- Protokoły
- Polimorfizm i typecasting
- Rozszerzenia klas
- Właściwości klas
- Bloki
- Wprowadzenie
- Deklarowanie bloków
- Wywoływanie i przekazywanie
- Zarządzanie pamięcią
- Wprowadzenie
- Szybki przegląd paradygmatów programowania w kontekście języka Swift
- Programowanie imperatywne
- Programowanie deklaratywne
- Programowanie imperatywne
- Moduły
- Swift Package Manager
- Swift Package Manager
- Składnia języka - ogólne wprowadzenie
-
Budowa aplikacji iOS- Przegląd podstawowych zagadnień.
- Popularne wzorce architektoniczne
- MVC
- MVVM
- MVP
- MVC
- Popularne wzorce projektowe
- Delegate
- Data Source
- Delegate
- Modularność
- Dlaczego poprawna hermetyzacja jest tak ważna?
- Architektura hexagonalna
- Praktyczne przykłady zastosowań w iOS
- Praktyczne przykłady zastosowań w iOS
- Dlaczego poprawna hermetyzacja jest tak ważna?
- Interfejs użytkownika
- Klasyczny UIKit
- Wprowadzenie
- Zasady budowy interfejsu
- Wprowadzenie
- Nowoczesny SwiftUI
- Wprowadzenie
- Zasady budowy interfejsu
- Mikro wprowadzenie do frameworka Combine
- Wprowadzenie
- Klasyczny UIKit
- Przegląd podstawowych zagadnień.
-
Testowanie aplikacji- Jak pisać kod podatny na testowanie
- Dobre praktyki: SOLID
- Jak zmieniać istniejący kod do dającego się testować
- Pułapki i typowe błędy
- Dobre praktyki: SOLID
- Zakres testów
- Testowanie jednostkowe
- Testowanie integracyjne
- Testowanie funkcjonalne
- Testowanie jednostkowe
- Wybrane wzorce i techniki testowe - omówienie i przykłady zastosowania
- Mock, Stub, Sut
- Memory implementation
- Test Driven Development
- Cykl czerwony-zielony-refaktoring
- Ewolucyjny rozwój kodu
- Podstawowe techniki refaktoringu
- Cykl czerwony-zielony-refaktoring
- Mock, Stub, Sut
- Testowanie interfejsów użytkownika
- Co testować?
- Page Object Pattern
- Wstrzykiwanie stanu
- Architektura pozwalająca na testy dowolnego ekranu aplikacji bez konieczności “dochodzenia” do niego
- Co testować?
- Jak pisać kod podatny na testowanie
Pobierz program w formacie PDF
Trenerzy
Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.