| Tytuł: | Kotlin dla programistów Java i Android |
| Kod: | android-kotlin |
| Kategoria: | Android |
| Forma: | 20% wykłady / 80% warsztaty |
| Czas trwania: | 2 dni |
| Odbiorcy: | developerzy, architekci |
| Zapisy: |
Indywidualne zamówienie i dopasowanie dla grupy. |
| Logistyka: |
W siedzibie klienta lub w innym dowolnym miejscu. |
W trakcie szkolenia uczestnik nauczy się używać konstrukcji składniowych Kotlina oraz pozna idiomy i wzorce ich wykorzystania.
Dodatkowo, zapozna się z podstawami programowania funkcyjnego i sposobem użycia tego paradygmatu w kontekście tworzenia aplikacji androidowych. Zostaną również omówione zagadnienia związane z działaniem Kotlina razem z najpopularniejszymi narzędziami i bibliotekami oraz wpływu użycia języka na wydajność aplikacji.
Kotlin jest językiem coraz mocniej zyskującym na popularności, głównie za sprawą wygodnych konstrukcji składniowych i wysunięcia na pierwszy plan paradygmatu programowania funkcyjnego. Cechy te znacznie ułatwiają pisanie dobrego kodu zawierającego mniej błędów. Znajdując szerokie zastosowanie na różnych platformach, Kotlin staje się językiem uniwersalnym. Jest oficjalnie wspierany przez Google do tworzenia aplikacji androidowych, z powodzeniem stosowany do tworzenia rozwiązań backendowych, webowych (kotlin-js) oraz natywnych, w tym iOS (kotlin-native). Twórcą Kotlina jest firma JetBrains, co skutkuje doskonałym wsparciem dla języka w środowiskach programistycznych (IntelliJ oraz Android Studio).
Wyróżniki szkolenia
- Paradygmat funkcyjny
- Zastosowanie w kontekście Android
- Łatwe przejście z Javy poprzez wskazywanie analogii
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.-
Składnia języka- Podstawy składni i różnice względem Javy
- Deklaracje zmiennych i stałych
- Typy podstawowe
- Kontrola przepływu
- if/when/try jako wyrażenia
- for i while
- if/when/try jako wyrażenia
- Zwracanie wartości funkcji/lambdy i skoki
- Null-safety na poziomie systemu typów
- Równość obiektów w Kotlinie
- Obsługa wyjątków
- Podstawy składni i różnice względem Javy
-
Konstrukcje języka do programowania obiektowego- Interface, Class & Object (Singleton)
- Companion Objects
- Konstruktory i atrybuty
- Enkapsulacja (modyfikatory dostępu)
- Data Classes i niemutowalny stan
- Sealed Classes jako narzędzie do modelowania stanu
- Rozszerzanie możliwości klas przez extension functions
- Delegacja na poziomie klasy jako alternatywa do dziedziczenia
- Delegowane atrybuty
- Lazy
- Observable
- Lazy
- Implementacja własnych delegatów
- Aliasy typów
- Nadpisywanie operatorów
- Interface, Class & Object (Singleton)
-
Biblioteka standardowa- Zakresy
- Tablice i kolekcje
- Przydatne rozszerzenia do biblioteki standardowej Javy
- Zakresy
-
Programowanie funkcyjne- Założenia paradygmatu funkcyjnego
- Funkcje w Kotlinie
- Parametry domyślne
- Nazwane argumenty
- Deklaracja typów zwracanych
- Notacja infiksowa
- Funkcje wyższego rzędu
- Wyrażenia lambda
- Parametry domyślne
- Wprowadzenie w świat monad
- Optymalizacja funkcji wyższego rzędu przez inlinowanie wykonania
- Funkcyjne przetwarzanie kolekcji
- Programowanie bez zmiennych - funkcje let/use/with/apply
- Założenia paradygmatu funkcyjnego
-
Programowanie współbieżne z wykorzystaniem Coroutines -
Generyczne klasy i funkcje- Składnia i różnice względem Javy
- Zapobieganie wymazywaniu typów dzięki reifikowanym typom generycznym
- Składnia i różnice względem Javy
-
REPL (read-eval- print loop) -
Współpraca Kotlina z Javą -
Kotlin w środowisku Android- Bindowanie widoków za pomocą kotlin-android- extension
- Konfiguracja procesora adnotacji w Kotlinie
- Kotlin Android DSL - Biblioteka Anko
- Bindowanie widoków za pomocą kotlin-android- extension
-
Popularne narzędzia i biblioteki a Kotlin- Dagger 2
- RxJava
- Testy automatyczne
- Mockito
- Dagger 2
-
Kotlin i jego wpływ na performance aplikacji- Porównanie bytecode Javy i Kotlina dla podstawowych konstrukcji języka
- Porównanie bytecode Javy i Kotlina dla podstawowych konstrukcji języka
Pobierz program w formacie PDF
Trenerzy
Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.