Szczegóły ebooka

Tworzenie mikrofrontendów. Skalowanie zespołów i projektów, nowe możliwości dla twórców oprogramowania

Tworzenie mikrofrontendów. Skalowanie zespołów i projektów, nowe możliwości dla twórców oprogramowania

Luca Mezzalira

Ebook

Mikrousługi stały się odpowiedzią na rosnącą złożoność aplikacji internetowych. Do niedawna pojęcie mikrousług dotyczyło wyłącznie backendu, jednak idea ta zainspirowała projektantów do budowania na podobnych zasadach architektury frontendu. Dzięki temu interfejs użytkownika można podzielić na osobne funkcjonalności zarządzane w odrębny sposób przez różne zespoły programistów. Mikrofrontendy zapewniają elastyczność i skalowalność aplikacji ― a to zalety doceniane przez najważniejszych dostawców oprogramowania na rynku.

Ta książka jest praktycznym przewodnikiem dla programistów aplikacji internetowych, architektów oprogramowania, menedżerów technicznych i inżynierów. Wyjaśniono w niej, w jaki sposób stosować architekturę mikrousług do frontendu aplikacji. Pokazano najważniejsze zalety mikrofrontendów, takie jak elastyczność, skalowalność i swoboda w dobieraniu bibliotek i platform programistycznych. Omówiono też takie zagadnienia jak wzorce projektowe dla mikrofrontendów, zasady przeprowadzania migracji z frontendu monolitycznego do mikrofrontendów, a także praktyczne aspekty wdrażania architektury mikrofrontendowej w organizacji. Ciekawą kwestią jest również prezentacja dobrych praktyk, na przykład sprawdzonych strategii automatyzacji i wdrażania mikrofrontendów w środowisku produkcyjnym.

Najważniejsze zagadnienia:

  • czym się charakteryzują architektury frontendowe
  • jak stosować ideę mikrousług podczas tworzenia frontendu
  • cztery filary tworzenia architektury mikrofrontendowej
  • zasady i najlepsze praktyki ustalania strategii automatyzacji
  • wzorce integracji architektury mikrofrontendowej

Mikrofrontendy: nowy wymiar niezawodności frontendu!

Przedmowa

Wstęp

Rozdział 1. Architektury frontendowe

  • Aplikacje mikrofrontendowe
  • Aplikacje jednostronicowe
  • Aplikacje izomorficzne
  • Statyczne strony internetowe
  • Jamstack
  • Podsumowanie

Rozdział 2. Zasady mikrofrontendu

  • Od monolitu do mikrousług
    • Przejście na mikrousługi
    • Wprowadzenie do mikrofrontendów
  • Zasady mikrousług
    • Model dla każdej domeny biznesowej
    • Kultura automatyzacji
    • Ukrycie szczegółów implementacji
    • Zdecentralizowane zarządzanie
    • Niezależne wdrażanie
    • Izolacja awarii
    • Łatwa obserwowalność
  • Zastosowanie zasad w mikrofrontendach
    • Model dla każdej domeny biznesowej
    • Kultura automatyzacji
    • Ukrycie szczegółów implementacji
    • Zdecentralizowane zarządzanie
    • Niezależne wdrażanie
    • Izolacja awarii
    • Łatwa obserwowalność
  • Mikrofrontendy to nie panaceum
  • Podsumowanie

Rozdział 3. Architektury mikrofrontendowe i ich wyzwania

  • Podstawowe decyzje w architekturze mikrofrontendowej
    • Definiowanie mikrofrontendów
    • Podejście DDD z mikrofrontendami
    • Określanie ograniczonego kontekstu
    • Kompozycje mikrofrontendów
    • Trasowanie mikrofrontendów
    • Komunikacja mikrofrontendów
  • Mikrofrontendy w praktyce
    • Zalando
    • Hello Fresh
    • Allegro
    • Spotify
    • SAP
    • OpenTable
    • DAZN
  • Podsumowanie

Rozdział 4. Odkrywanie architektur mikrofrontendowych

  • Podstawowe decyzje związane z mikrofrontendem w praktyce
    • Podział pionowy
    • Podział poziomy
  • Analiza architektury
    • Architektura i kompromisy
  • Architektury podziału pionowego
    • Powłoka aplikacji
    • Wyzwania
    • Implementacja systemu projektowania
    • Komfort pracy programisty (DX)
    • SEO
    • Wydajność a mikrofrontendy
    • Dostępne platformy programistyczne
    • Przypadki użycia
    • Charakterystyka architektury
  • Architektury podziału poziomego
    • Implementacja po stronie klienta
    • Wyzwania
    • SEO
    • Komfort pracy programisty (DX)
    • Przypadki użycia
    • Wtyczka Module Federation
    • Elementy iframe
    • Komponenty sieciowe
    • Kompozycja po stronie serwera
    • Kompozycja po stronie serwera brzegowego
  • Podsumowanie

Rozdział 5. Techniczne wdrażanie mikrofrontendów

  • Projekt
  • Module Federation - podstawy
  • Implementacja techniczna
    • Struktura projektu
    • Powłoka aplikacji
    • Mikrofrontend uwierzytelniania
    • Mikrofrontend katalogu
    • Mikrofrontend zarządzania kontem
  • Rozwój projektu
    • Wbudowanie przestarzałej aplikacji
    • Tworzenie interfejsu finalizacji zakupu
    • Implementacja dynamicznych kontenerów zdalnych
  • Przywiązanie do bundlera webpack
  • Podsumowanie

Rozdział 6. Tworzenie i wdrażanie mikrofrontendów

  • Zasady automatyzacji
    • Szybka informacja zwrotna
    • Częste uruchamianie zautomatyzowanych procesów
    • Motywacja zespołów
    • Określenie ram
    • Stworzenie strategii testowania
  • Komfort pracy programisty (DX)
    • Podział poziomy a podział pionowy
    • Mikrofrontendowe strategie eliminujące zakłócenia
    • Strategie związane ze środowiskami
  • Kontrola wersji
    • Monorepo
    • Polyrepo
    • Przyszłość systemu kontroli wersji
  • Strategie ciągłej integracji
    • Testowanie mikrofrontendów
    • Funkcje przystosowania
    • Działania szczególne dla mikrofrontendu
  • Strategie wdrażania
    • Wdrażanie metodą blue-green a publikacje kanarkowe
    • Wzorzec Dusiciel
    • Obserwowalność
  • Podsumowanie

Rozdział 7. Zautomatyzowany proces dla mikrofrontendów - studium przypadku

  • Informacje wstępne
    • Kontrola wersji
    • Uruchomienie procesu
    • Przegląd jakości kodu
    • Kompilacja
    • Przegląd po kompilacji
    • Wdrożenie
    • Podsumowanie strategii automatyzacji
  • Podsumowanie

Rozdział 8. Wzorce projektowe dla mikrofrontendów

  • Integracja API i mikrofrontendy
    • Słownik usług
    • Brama API
    • Wzorzec BFF
    • Warstwa GraphQL z mikrofrontendami
    • Sprawdzone metody
  • Podsumowanie

Rozdział 9. Od frontendu monolitycznego do mikrofrontendów - studium przypadku

  • Kontekst
    • Stos technologiczny
    • Platforma i główne sekwencje działań użytkownika
    • Cele techniczne
  • Strategia migracji
    • Podstawowe decyzje związane z mikrofrontendami w praktyce
    • Podział aplikacji jednostronicowej na subdomeny
    • Wybór technologii
  • Szczegóły implementacji
    • Zadania powłoki aplikacji
    • Inicjalizacja aplikacji
    • Komunikacja
    • Integracja z backendem
    • Uwierzytelnianie przez mikrofrontendy
    • Zarządzanie zależnościami
    • Integracja systemu projektowania
    • Wspólne komponenty
    • Implementacja publikacji kanarkowych
    • Lokalizacja
  • Podsumowanie

Rozdział 10. Wprowadzenie mikrofrontendów w Twojej organizacji

  • Dlaczego powinniśmy używać mikrofrontendów?
  • Połączenie między organizacjami i architekturą oprogramowania
    • Innowacyjność komitetów
    • Zespoły od funkcjonalności a zespoły od komponentów
  • Zarządzenie przepływami komunikacji
    • Dokument RFC
    • Dokument ADR
  • Techniki ulepszania przepływów komunikacji
    • Praca wstecz
    • Społeczności praktyków i spotkania całej załogi
    • Zarządzanie zewnętrznymi zależnościami
  • Zdecentralizowana organizacja
    • Decentralizacja a mikrofrontendy
  • Podsumowanie

Dodatek A. Co społeczność sądzi o mikrofrontendach?

  • Tytuł: Tworzenie mikrofrontendów. Skalowanie zespołów i projektów, nowe możliwości dla twórców oprogramowania
  • Autor: Luca Mezzalira
  • Tytuł oryginału: Building Micro-Frontends: Scaling Teams and Projects, Empowering Developers
  • Tłumaczenie: Anna Mizerska
  • ISBN: 978-83-283-9319-6, 9788328393196
  • Data wydania: 2022-10-18
  • Format: Ebook
  • Identyfikator pozycji: twomik
  • Wydawca: Helion