Szkolenie Architektura mikroserwisów we frontendzie

Poziom

Średniozaawansowany

Czas

16h / 2 dni

Termin

Indywidualnie

Cena

Indywidualnie

Szkolenie Architektura mikroserwisów we frontendzie

Praktyczne szkolenie poświęcone projektowaniu skalowalnych, testowalnych i wydajnych aplikacji frontendowych. Uczestnicy przeanalizują architekturę z perspektywy architekta i programisty, przełożą wymagania biznesowe na granice modułów oraz porównają podejścia oparte na DDD, monorepo, multi-repo i micro frontends. Zakres obejmuje również zarządzanie stanem, zasady SOLID, wzorce projektowe, programowanie obiektowe i funkcyjne, Core Web Vitals oraz kontrolę ryzyk związanych z zależnościami i kodem generowanym przy wsparciu AI.

Dla kogo jest to szkolenie?
  • logo infoshare Dla frontend developerów, którzy samodzielnie tworzą aplikacje w JavaScript lub TypeScript oraz znają moduły, programowanie asynchroniczne i architekturę komponentową
  • logo infoshare Dla programistów przygotowujących się do roli senior developera, lidera technicznego lub architekta frontendowego
  • logo infoshare Dla zespołów frontendowych, które chcą uporządkować granice modułów, zarządzanie stanem, standardy jakości i sposób podejmowania decyzji architektonicznych
  • logo infoshare Dla full-stack developerów i liderów technicznych odpowiedzialnych za wydajność, testowalność, rozwój oraz integrację aplikacji frontendowych

Czego nauczysz się na szkoleniu?

  • Przeanalizujesz wymagania funkcjonalne i jakościowe, przygotujesz mapę architektury aplikacji oraz zapiszesz kluczową decyzję w formie Architecture Decision Record
  • Wyznaczysz granice domenowe i modułowe, a następnie dobierzesz zasady SOLID oraz wzorce projektowe do wskazanych problemów
  • Porównasz monorepo, multi-repo i micro frontends oraz zaproponujesz sposób podziału kodu, odpowiedzialności zespołów i zarządzania stanem
  • Zidentyfikujesz problemy z wydajnością, testowalnością i zależnościami oraz ocenisz jakość kodu obiektowego, funkcyjnego i generowanego przy wsparciu AI

Program szkolenia

Dzień 1

Architektura z perspektywy architekta

  • Zakres architektury aplikacji frontendowej: struktura systemu, odpowiedzialności komponentów, przepływy danych, kontrakty integracyjne i granice technologiczne
    • Rola architekta frontendowego i granice odpowiedzialności: decyzje techniczne, standardy zespołowe, współpraca z biznesem, backendem, UX i infrastrukturą
    • Wymagania funkcjonalne i atrybuty jakościowe: wydajność, dostępność, bezpieczeństwo, skalowalność, testowalność, utrzymywalność i odporność na zmiany
    • Miary architektoniczne, budżety jakościowe i Architecture Decision Records: kryteria oceny, mierzalne ograniczenia, dokumentacja decyzji i analiza kompromisów
    • Struktura kodu, granice domenowe i potrzeby biznesowe: moduły funkcjonalne, zależności, odpowiedzialności zespołów i zgodność architektury z rozwojem produktu

Architektura z perspektywy programisty

  • Odporność na błędy i wydajność interfejsu: obsługa awarii API, stany częściowe, ponawianie operacji, mechanizmy fallback i ograniczenie kosztownych operacji
    • Rozszerzalność, testowalność i dostępność: stabilne kontrakty, izolacja logiki, testy jednostkowe i integracyjne oraz zgodność z wymaganiami dostępności cyfrowej
    • Reużywalność, czytelność i spójność kodu: biblioteki współdzielone, standardy nazewnictwa, dokumentacja komponentów i kontrola nadmiernych abstrakcji
    • Bundling, tree shaking, code splitting i lazy loading: struktura paczek, eliminacja nieużywanego kodu, podział aplikacji i ładowanie zasobów na żądanie
    • Core Web Vitals: LCP, INP i CLS oraz budżety wydajnościowe: interpretacja metryk, źródła problemów, progi jakości i kontrola regresji wydajności

Architektura DDD we frontendzie (Domain-Driven Design)

  • Warstwy aplikacji i wzorzec MVC (Model–View–Controller): odpowiedzialności warstwy prezentacji, logiki aplikacyjnej, modelu domenowego i integracji z usługami
    • Przesłanki zastosowania DDD we frontendzie: złożoność domeny, trwałość reguł biznesowych, niezależność modułów i współpraca wielu zespołów
    • DDD strategiczne i taktyczne: bounded contexts, encje, value objects i agregaty oraz ich reprezentacja w strukturze aplikacji frontendowej

Zarządzanie stanem aplikacji

  • Ewolucja kodu i kontraktów stanu: model danych, źródła prawdy, synchronizacja, migracje struktur i kompatybilność między wersjami aplikacji
    • Proces deweloperski, testy architektoniczne i przeglądy zmian: automatyczna kontrola zależności, reguły jakości, code review i walidacja decyzji architektonicznych
    • Monorepo, multi-repo i micro frontends: granice, zależności i kompromisy dotyczące autonomii zespołów, współdzielenia kodu, wdrożeń i spójności technologicznej

 

Dzień 2

Zasady jakości kodu – dobre praktyki

  • Zasady SOLID: SRP, OCP, LSP, ISP i DIP w projektowaniu komponentów, usług, adapterów, kontraktów i zależności aplikacji frontendowej
    • Prawo Demeter: ograniczenie wiedzy między modułami, redukcja sprzężenia i ochrona wewnętrznej struktury komponentów oraz obiektów domenowych
    • Hollywood Principle, inwersja sterowania i kontrola kodu generowanego przez AI: mechanizmy rozszerzeń, wstrzykiwanie zależności, przegląd jakości, bezpieczeństwo i weryfikacja poprawności

Paradygmaty programowania we frontendzie

Programowanie obiektowe:
– Niskie sprzężenie i wysoka spójność: wyraźne odpowiedzialności klas, stabilne interfejsy, ograniczone zależności i lokalizacja reguł biznesowych
– Inwersja zależności i kompozycja obiektów: abstrakcje, adaptery, wstrzykiwanie zależności i kompozycja jako alternatywa dla rozbudowanej hierarchii dziedziczenia

Popularne wzorce projektowe

  • Wzorce kreacyjne: Factory, Builder i Dependency Injection oraz kryteria ich zastosowania w tworzeniu komponentów, usług i konfiguracji
    • Wzorce strukturalne: Adapter, Facade, Proxy i Decorator w integracji API, rozszerzaniu zachowania i upraszczaniu złożonych interfejsów
    • Wzorce behawioralne: Strategy, Observer, Command i State w zarządzaniu interakcjami, zdarzeniami, stanem oraz wymiennymi algorytmami

Programowanie funkcyjne

  • Funkcje czyste i nieczyste: przewidywalność wyników, zależności wejściowe, dostęp do środowiska i separacja logiki od operacji wejścia–wyjścia
    • Efekty uboczne i granice izolacji: komunikacja sieciowa, zapis stanu, obsługa czasu, losowości i zdarzeń oraz kontrolowane miejsca integracji
    • Niezmienność stanu i przezroczystość referencyjna: bezpieczne transformacje danych, łatwiejsze testowanie, prostsze śledzenie zmian i ograniczenie błędów współbieżności

Mechanizmy programowania funkcyjnego

  • Currying: częściowa aplikacja argumentów, konfiguracja funkcji i budowa wyspecjalizowanych operacji z funkcji ogólnych
    • Memoizacja: pamięć wyników, kryteria poprawności, koszty pamięciowe i zastosowania w optymalizacji obliczeń oraz renderowania
    • Rekurencja: definicje problemów rekurencyjnych, warunki zakończenia, koszty stosu i alternatywy iteracyjne
    • Domknięcia: prywatny stan, zachowanie kontekstu, fabryki funkcji i ryzyka związane z niekontrolowanym przechowywaniem danych
    • Funkcje wyższego rzędu: przekazywanie funkcji jako argumentów, zwracanie funkcji i budowa elastycznych mechanizmów przetwarzania
    • Łańcuchy operacji: sekwencyjne transformacje danych, czytelność przepływu i kontrola błędów w wieloetapowym przetwarzaniu
    • Kompozycja funkcji: łączenie małych operacji, kierunek przepływu danych, reużywalność i ograniczenie złożoności logiki
    • Monady: zastosowania i ograniczenia w modelowaniu wartości opcjonalnych, błędów, operacji asynchronicznych i efektów ubocznych

Skontaktuj sie z nami

zorganizujemy dla Ciebie szkolenie dopasowane do Twoich potrzeb

Przemysław Wołosz

Key Account Manager

przemyslaw.wolosz@infoShareAcademy.com

    Administratorem danych osobowych jest InfoShare Academy Sp. z o.o. z siedzibą w Gdańsku, al. Grunwaldzka 427B, 80-309 Gdańsk, KRS: 0000531749, NIP: 5842742213. Dane osobowe przetwarzane są zgodnie z klauzulą informacyjną.