Adresaci szkolenia

Kurs przeznaczony jest dla osób chcących nauczyć się programować aplikacje mobilne dla iOS oraz Android w oparciu o framework Xamarin, w języku C#, w środowisku Visual Studio for Mac działającym w systemie MacOS.

Wymagania

  • Znajomość języka programowania C#
  • Znajomość tworzenia interfejsu użytkownika aplikacji w oparciu o XAML
  • Znajomość koncepcji programowania obiektowego
  • Znajomość systemu MacOS
  • Podstawowa znajomość iOS SDK oraz Android SDK
  • Znajomość angielskiego (poziomB2)

Program szkolenia

  1. Wprowadzenie: czym jest Xamarin framework; czym jest Xamarin Forms; środowisko deweloperskie: Visual Studio for Mac oraz Visual Studio; narzędzia dodatkowe: emulatory, profiler, live preview;
  2. Pierwsza aplikacja w Xamarin.Forms: tworzenie aplikacji Xamarin Forms; jak działa Xamarin Forms; organizacja projektu; pakiety zależności (nuget); właściwości projektów iOS oraz Android;
  3. Współdzielenie kodu między platformami iOS i Android: strategie współdzielenia kodu; PCL; biblioteka współdzielona; biblioteka .NET Standard;
  4. Tworzenie interfejsu użytkownika w oparciu o XAML: struktura interfejsu; XAML kontra kod; Content – główna właściwość elementów XAML; dostęp do elementów i właściwości w CodeBehind; interfejs dla wielu platform i urządzeń, kompilacja XAML;
  5. Organizowanie interfejsu użytkownika w oparciu Layout’y: podstawowe typy layoutów; ustawianie pozycji i marginesów; StackLayout; Grid; layout niezależny (absolute) i zależny (relative); ScrollView; Frame; ContentView;
  6. Podstawowe kontrolki w Xamarin.Forms: koncepcja widoku (view); wspólne właściwości kontrolek; przegląd kontrolek; rozpoznawanie gestów; okienka powiadomień / dialogowe;
  7. Strony(ekrany)aplikacji oraz nawigacja: typy stron; tworzenie stron (pages); nawigacja między stronami; przekazywanie danych między stronami; obsługa cyklu życia strony;
  8. Zasoby aplikacji: deklarowanie i korzystanie zasobów w aplikacji (stronie oraz kontrolce); deklarowanie i używanie styli dla elementów interfejsu użytkownika;
  9. Zasoby aplikacji Data Binding: czym jest data binding; propagowanie zmian danych w data binding’u; tworzenie danych dla elementów UI (implementacja interfejsu INotifyPropertyChanged); zmienna kolekcja jako źródło danych; konwertery;
  10. Dostęp do API specyficznego dla danej platformy: użycie elementów Deviceoraz OnPlatform; korzystanie z plugin’ów; natywne widoki; tworzenie rendererów;
  11. Cykl życia aplikacji: klasa App; obsługa cyklu życia aplikacji; przesyłanie wiadomości między elementami aplikacji;
  12. Architektura aplikacji bazująca na wzorcu MVVM: podstawowe elementy tworzące MVVM; podział odpowiedzialności klas; wstrzykiwanie zależności; problem okien powiadomień / dialogowych;