iOS - zaawansowane tworzenie aplikacji

4300 PLN+23% VAT (5289 PLN brutto / 1 os.)

Czas trwania szkolenia:5 dni (40h)

Kod kursu:IOS/ADVANCED

Poziom zaawansowania:

Dostępne terminy

  • Termin
  • Lokalizacja
  • Trener
  • Cena
Brak dostępnych terminów

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

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
  • Kameralne grupy - szkolenia technologiczne prowadzimy w grupach liczących do 8 osób. Pozwala to na indywidualne podejście oraz aktywizację każdego uczestnika
  • 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, 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, 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
  • Wzorce: Dependency inversion, Inversion of control, Dependency injection, MVVM, Coordinator, DAO/Repository
  • Strategie zarządzania stanem i jego synchronizacja z backendem
  • Zarządzanie i dostarczanie konfiguracji
  • Czysta architektura w praktyce
  • Przegląd alternatywnych podejść: VIPER, Composable Architecture, Redux/Unidirectional State Flow

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

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

Zaawansowane elementy SwiftUI i Combine

  • Zarządzanie stanem oraz jego efektywne współdzielenie między widokami
  • Tworzenie zaawansowanych i niestandardowych widoków
  • Zastosowanie matched geometry effect
  • Wykorzystanie animacji
  • Integracja z UIKit
  • Debugowanie i obsługa błędów na poziomie Combine
  • Wykorzystanie / tworzenie reaktywnych rozszerzeń w kontekście istniejącego API

Wybrane elementy SDK

  • Core Location i praca z mapami MapKit/Google Maps
  • Kamera i biblioteka zdjęć
  • Push Notifications

Wydajność i profilowanie

  • Zaawansowane debugowanie aplikacji
  • Podstawy wykorzystania Xcode Instruments
  • Profilowanie wydajności
  • Zarządzanie pamięcią i wykrywanie wycieków

Podobne szkolenia