Functional Reactive Programming z RxJS

Warsztat ekspercki to coś więcej niż szkolenie. To praca w kontekście konkretnych problemów.

Kod: base-frp-rxjs
Kategoria: JavaScript - język
Forma: 40% wykłady / 60% warsztaty
Czas trwania: 3 dni
Grupa docelowa: developerzy
architekci
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.
Data i dokładny zakres do ustalenia podczas analizy przed-szkoleniowej.

Szkolenie przeznaczone dla osób mających przynajmniej podstawową wiedzę o JavaScripcie.

Poświęcone jest nowoczesnemu podejściu do tworzenia asynchronicznego kodu JavaScript – Reaktywnemu Programowaniu Funkcyjnemu na bazie biblioteki RxJS. Kładzie nacisk na zrozumienie filozofii tego podejścia, z uwagi na znaczące różnice z programowaniem imperatywnym i obiektowym.

Uczestnicy szkolenia uczą się projektować aplikacje i rozwiązania z użyciem strumieni, dokonując na nich mnóstwo rozmaitych operacji. W trakcie szkolenia „krystalizują się” klasy problemów i dobierane są do nich odpowiednie rozwiązania: operatorami, subjecty oraz sposoby przepływu kontroli aplikacji.

Zrozumienie istoty FRP oraz realizacja wielu ćwiczeń umożliwia pójście krok dalej – przegląd wzorców rozwiązań oraz architektur aplikacji opartych o strumienie.

Podczas szkolenia kładziemy duży nacisk zarówno na zrozumienie istoty omawianych zagadnień, kodowanie własnych rozwiązań, jak i pracę w grupie.

Wyróżniki warsztatu

  • Paradygmat programowania funkcyjnego i reaktywnego
  • Poznawanie RxJS od strony praktycznej - liczne ćwiczenia ze strumieniami, operatorami i subjectami
  • Architektura aplikacji opartych o RxJS oraz wzorce rozwiązań

Program Warsztatu eksperckiego

Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.

  1. JavaScript Functional Programming
    1. Functions, Function Objects
    2. Contexts
    3. Scopes: Function vs Lexical
    4. Closures, Currying
    5. Higher Order Functions
    6. Pure Functions, Side Effects
  2. Asynchrony
    1. 3 Programming Models: Synchronous, Asynchronous, Parallel
    2. JavaScript inside browsers and node.js
    3. Event Loop, WEB APIs
    4. Run to Completion Rule
    5. Race Conditions
    6. Patterns: Callbacks, Events, Promises, RxJS
  3. Stream-based FRP
    1. Functional Reactive Programming
    2. Observable Pattern
    3. Marble Diagrams
  4. Streams
    1. Creating Streams
    2. Managing Subscriptions
    3. Operators: Manipulating Data
    4. Operators: Manipulating Time
    5. Operators: Backpressure
    6. Operators: Flattening
    7. Higher Order Observables
    8. Error Handling
    9. Debugging
    10. RxJS 5.5: let, pipe
  5. Subjects
    1. Hot and Cold Observables
    2. Współdzielenie subskrypcji
    3. Multicast, Unicast
    4. Subject classes:
      1. Subject
      2. BehaviorSubject o ReplaySubject
      3. AsyncSubject
  6. Architecture
    1. Inversion of Control w RxJS
    2. Real-time Apps
    3. Strumienie vs Webservices (HTTP oraz Websockety)
    4. Best Practices
    5. Antipatterns
  7. RxJS + Redux
    1. Redux Effects, effect-based application flow
    2. redux-observables
    3. ngrx
    4. Budowa aplikacji w oparciu o RxJS + redux-observables lub ngrx
  8. RxJS + Angular 2+
    1. Callback-based components vs stream-based components (React vs Angular)
    2. Component Inputs & Outputs – jako strumienie
    3. EventEmitter
    4. ChangeDetection, strategia OnPush
    5. Observables vs Promises: differences & similarities
    6. Budowa aplikacji w oparciu o RxJS + Angular2+


Pobierz program w formacie PDF

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twój Warsztat.

Materiały związane z warsztatem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.

Zapytaj o warsztat

Imię i nazwisko:
Firma:
E-mail:
Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń


Wyrażam zgodę na przetwarzania danych osobowych zgodnie z ustawą o ochronie danych osobowych w związku z wysłaniem zapytania przez formularz kontaktowy.

Podanie danych jest dobrowolne ale niezbędne do przetworzenia zapytania. Zastałem/am poinformowany/na, że przysługuje mi prawo dostępu do swoich danych, możliwości ich poprawienia, żądania zaprzestania ich przetwarzania.

Administratorem danych osobowych jest Bottega IT Minds, ul. Jana Sawy 2, 20-632 Lublin.


Klauzula informacyjna