Budowanie aplikacji w języku Elm

Czas trwania szkolenia:4 dni (32h)

Kod kursu:ELM/APP

Poziom zaawansowania:
elmfunctional-programmingelm-uispa

Szkolenie na zamówienie

  • Dostosowany program
  • Indywidualna wycena
  • Dowolny termin
Zapytanie o szkolenie

O szkoleniu Budowanie aplikacji w języku Elm

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

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

Wymagania

  • Podstawowa umiejętność programowania w dowolnym języku

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

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)

Program

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

Podobne szkolenia