Funkcyjne programowanie w JavaScript

Czas trwania szkolenia:2 dni (16h)

Kod kursu:FP/JS

Poziom zaawansowania:
javascriptfunctional-programmingramdajs

Szkolenie na zamówienie

Szkolenie dostosowane do potrzeb Twojego zespołu.
Dostępne wyłącznie na zamówienie

  • Dostosowany program
  • Indywidualna wycena
  • Dowolny termin
Icon with laptop

O szkoleniu Funkcyjne programowanie w JavaScript

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 funkcyjnego paradygmatu w JavaScript wraz z umiejętnością jego wykorzystania

Wymagania

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

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 innych języków z wbudowanymi elementami paradygmatu funkcyjnego (np. Python, Ruby, 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 paradygmatu programowania funkcyjnego w JavaScript oraz zastosowań

Program

Wprowadzenie

  • Czym jest JavaScript (JS) w kontekście Funkcyjnego Programowania (FP)?
  • Jakie są benefity pisania kodu w stylu FP?
  • Oduczenie się OOP i imperatywnego kodowania
  • Funkcyjne alternatywy dla JavaScript
  • Biblioteki pomagające używania FP w JS

Wprowadzenie do programowania funkcyjnego

  • Czyste funkcje
  • Niezmienność danych
  • Funkcje wyższego rzędu oraz funkcje jako first class citizens
  • Deklaratywny, a imperatywny styl kodowania
  • Kolekcje
  • Operator pipeline
  • Kompozycja funkcji

Przygotowanie do ćwiczeń

  • Przykładowe użycia
  • Przydatne narzędzia wbudowane w JS (np. arrow functions, spread operator)

Ćwiczenia

  • Stosowanie podstawowych konceptów FP w JS (włączając bibliotekę RamdaJS)

Bardziej zaawansowane koncepty programowania funkcyjnego

  • Currying
  • Partial application
  • (Tail) Recursion

Ćwiczenia

  • Zastosowanie bardziej zaawansowanych konceptów używając RamdaJS

Wykorzystanie mainstreamowe FP

  • React
  • Redux

Ćwiczenia

  • Proste aplikacje w vanilla JS z użyciem RamdaJS i [opcjonalnie] innych bibliotek (np. ImmutableJS)
  • Aplikacje wykorzystujące poznane koncepty i zastosowania FP z użyciem React lub React+Redux

Co dalej?

  • Przydatne linki
  • Refactoring aplikacji jest łatwy, jeśli piszemy czyste funkcje
  • Testy jednostkowe, gdy stosujemy zasady FP
  • Podejście reaktywnie (np. z biblioteką RxJS)

Podobne szkolenia