Kotlin dla programistów Java i Android 15.12.2017/Warszawa

Kotlin dla programistów Java i Android 15.12.2017/Warszawa

Kotlin dla programistów Java i
Android
-warsztaty
15.12.2017/Warszawa
koszt:1070 zl netto 
  
CZAS
TRWANIA:1 dzień 
FORMA SZKOLENIA:Warsztaty 
TRENER:Michał Charmas

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ęzykaw środowiskach 
programistycznych (IntelliJ oraz Android Studio). 
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.


PROGRAM SZKOLENIA: 
● 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 & while 
○
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 
●
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 
■ Implementacja własnych delegatów 
○ Aliasy typów 
○
Nadpisywanie operatorów 
● Biblioteka standardowa 
○ Zakresy 
○ Tablice
i kolekcje 
○ Przydatne rozszerzenia do biblioteki standardowej Javy 
●
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 
○ Wprowadzenie w świat monad 
○ Optymalizacja funkcji
wyższego rzędu przez inlinowanie wykonania 
○ Funkcyjne przetwarzanie
kolekcji 
○ Programowanie bez zmiennych - funkcje let/use/with/apply 
●
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 
● REPL
(read-eval-print loop) 
● Współpraca Kotlina z Javą 
● Kotlin w
środowisku Androida 
○ Bindowanie widoków za pomocą
kotlin-android-extension 
○ Konfiguracja procesora adnotacji w Kotlinie

○ Kotlin Android DSL - Biblioteka Anko 
● Popularne narzędzia i
biblioteki a Kotlin 
○ Dagger 2 
○ RxJava 
○ Testy automatyczne 
○
Mockito 
● Kotlin i jego wpływ na performance aplikacji 
○ Porównanie
bytecode'u Javy i Kotlina dla podstawowych konstrukcji języka