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
- 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;
- 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;
- Współdzielenie kodu między platformami iOS i Android: strategie współdzielenia kodu; PCL; biblioteka współdzielona; biblioteka .NET Standard;
- 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;
- 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;
- Podstawowe kontrolki w Xamarin.Forms: koncepcja widoku (view); wspólne właściwości kontrolek; przegląd kontrolek; rozpoznawanie gestów; okienka powiadomień / dialogowe;
- Strony(ekrany)aplikacji oraz nawigacja: typy stron; tworzenie stron (pages); nawigacja między stronami; przekazywanie danych między stronami; obsługa cyklu życia strony;
- Zasoby aplikacji: deklarowanie i korzystanie zasobów w aplikacji (stronie oraz kontrolce); deklarowanie i używanie styli dla elementów interfejsu użytkownika;
- 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;
- Dostęp do API specyficznego dla danej platformy: użycie elementów Deviceoraz OnPlatform; korzystanie z plugin’ów; natywne widoki; tworzenie rendererów;
- Cykl życia aplikacji: klasa App; obsługa cyklu życia aplikacji; przesyłanie wiadomości między elementami aplikacji;
- Architektura aplikacji bazująca na wzorcu MVVM: podstawowe elementy tworzące MVVM; podział odpowiedzialności klas; wstrzykiwanie zależności; problem okien powiadomień / dialogowych;