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.

  1. Swift - podstawy
    1. Składnia języka - ogólne wprowadzenie
    2. Zarządzanie pamięcią
      1. Wprowadzenie teoretyczne
      2. ARC
        1. Podstawy
        2. Praktyczne przykłady
        3. Jak unikać wycieków pamięci (i dlaczego to jest groźne)
    3. Zmienne i stałe
      1. Optionals
    4. Podstawowe typy danych
      1. String, interpolacja stringów
      2. Liczby
      3. Kolekcje
    5. Sterowanie przepływem
      1. Instrukcje warunkowe
      2. Pętle
    6. Operatory
    7. Klasy i struktury
      1. Właściwości klas
      2. Poziomy dostępu
      3. Protokoły
      4. Polimorfizm i typecasting
      5. Rozszerzenia klas
    8. Bloki
      1. Wprowadzenie
      2. Deklarowanie bloków
      3. Wywoływanie i przekazywanie
      4. Zarządzanie pamięcią
    9. Szybki przegląd paradygmatów programowania w kontekście języka Swift
      1. Programowanie imperatywne
      2. Programowanie deklaratywne
    10. Moduły
      1. Swift Package Manager
  2. Budowa aplikacji iOS
    1. Przegląd podstawowych zagadnień.
    2. Popularne wzorce architektoniczne
      1. MVC
      2. MVVM
      3. MVP
    3. Popularne wzorce projektowe
      1. Delegate
      2. Data Source
    4. Modularność
      1. Dlaczego poprawna hermetyzacja jest tak ważna?
      2. Architektura hexagonalna
        1. Praktyczne przykłady zastosowań w iOS
    5. Interfejs użytkownika
      1. Klasyczny UIKit
        1. Wprowadzenie
        2. Zasady budowy interfejsu
      2. Nowoczesny SwiftUI
        1. Wprowadzenie
        2. Zasady budowy interfejsu
        3. Mikro wprowadzenie do frameworka Combine
  3. Testowanie aplikacji
    1. Jak pisać kod podatny na testowanie
      1. Dobre praktyki: SOLID
      2. Jak zmieniać istniejący kod do dającego się testować
      3. Pułapki i typowe błędy
    2. Zakres testów
      1. Testowanie jednostkowe
      2. Testowanie integracyjne
      3. Testowanie funkcjonalne
    3. Wybrane wzorce i techniki testowe - omówienie i przykłady zastosowania
      1. Mock, Stub, Sut
      2. Memory implementation
      3. Test Driven Development
        1. Cykl czerwony-zielony-refaktoring
        2. Ewolucyjny rozwój kodu
        3. Podstawowe techniki refaktoringu
    4. Testowanie interfejsów użytkownika
      1. Co testować?
      2. Page Object Pattern
      3. Wstrzykiwanie stanu
      4. Architektura pozwalająca na testy dowolnego ekranu aplikacji bez konieczności “dochodzenia” do niego


Pobierz program w formacie PDF

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.

Materiały związane ze szkoleniem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.

Zamów szkolenie

Imię i nazwisko:
Firma:
E-mail:
Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń


Twoje dane osobowe przetwarzamy, aby udzielić odpowiedzi na Twoje pytanie. Administratorem Twoich danych osobowych jest Bottega It Minds Sławomir Sobótka. Przysługuje Ci prawo wniesienia sprzeciwu wobec przetwarzania, prawo dostępu do danych, prawo żądania ich sprostowania, usunięcia lub ograniczenia ich przetwarzania. Szczegółowe informacje dotyczące przetwarzania Twoich danych osobowych znajdują się TUTAJ.