Szkolenie: Budowanie aplikacji w języku Elm
Jasne i przyjazne wprowadzenie do czysto funkcyjnego języka Elm i architektury Elm: alternatywy dla JavaScript, ze statycznym typowaniem, i zerową ilością błędów runtime
- Trenerzy praktycy
- Kameralne grupy
Czas trwania szkolenia:4 dni (32h)
Kod kursu:ELM/APP
Budowanie aplikacji w języku Elm
Cele szkolenia
Poznanie języka Elm wraz ze standardowymi i rekomendowanymi bibliotekami, w kontekście zarówno teoretycznym, jak i praktycznym (budowa prostych i nisko-zaawansowanych aplikacji przeglądarkowych)
Dla kogo?
Programiści chcący poszerzyć swoje kompetencje o:
zrozumienie programowania funkcyjnego (które dalej można wdrożyć w innych językach, włączając w to JavaScript)
zapoznanie się z czysto funkcyjnym językiem, który choć dużo prostszy to zainspirowany jest językiem Haskell
umiejętność budowy bezpiecznych (as in „bug-free”) aplikacji przeglądarkowych
Zalety
Warsztatowy charakter zajęć
Teoretyczna i praktyczna wiedza dotycząca programowania funkcyjnego, którą dalej można aplikować do języków funkcyjnych (również backendowych), jak i języków z wbudowanymi elementami paradygmatu funkcyjnego (np. JavaScript, Python, Java)
Budowa kilku projektów/aplikacji
Ćwiczenia pomagające utrwalić omawiane koncepty
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
Wymagania
Podstawowa umiejętność programowania w dowolnym języku
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
Program szkolenia
Wprowadzenie do Elm
Dlaczego Elm?
Elm, a JavaScript
Konfiguracja narzędzi
Wprowadzenie do programowania funkcyjnego
Czyste funkcje
Niezmienność danych
Funkcje wyższego rzędu oraz funkcje jako first class citizens
Podstawy języka Elm
Podstawowe typy danych
Inferencja typów
Custom (Algebraic) types, czyli własne typy danych
Alias typów
Moduły
Funkcje
Rekordy i listy
Operator pipeline
Kompozycja funkcji
Ćwiczenia
Stosowanie podstawowych konceptów FP w Elm
Pisanie prostego kodu w Elm używając typów, funkcji, i modułów
Bardziej zaawansowane koncepty programowania funkcyjnego
Currying
Partial application
(Tail) Recursion
Średnio-zaawansowany Elm
Architektura Elm (Model-Update-View)
Maybe, Result
Interoperacyjność z JavaScript
Enkoderki i dekoderki JSON
HTTP
Jak Elm radzi sobie z side-effects?
Ćwiczenia
Proste aplikacje w Elm
Podstawowe wzory
Czyste funkcje zamiast komponentów
Podział plików ze względu na ich funkcje w aplikacji
Przekazywanie rekordów jako parametrów funkcji
Unikanie type blindness poprzez pakowanie danych w unikatowe typy
Wczesne rozpakowanie typów Maybe i Result dla innych funkcji
Pewność, że niemożliwe stany aplikacji są niemożliwe
Parse, don't validate
Budowanie danych z wielu funkcji, czyli wzór budowniczego
Niebanalne użycie Elm
SPA
Elm-UI
Ćwiczenia
Stworzenie aplikacji SPA w Elm
Co dalej?
Jak utrzymywać aplikacje Elm
Refactoring
Unit i fuzz testing