Storybook: katalog aplikacji.

Storybook to katalog wszystkich przycisków, formularzy i kart aplikacji, który można obejrzeć bez klikania po całym systemie. Wyjaśniam, jak działa, co daje Tobie jako klientowi i kiedy warto o niego poprosić.

DefinicjaStorybook to narzędzie open source do budowania, oglądania i dokumentowania komponentów interfejsu w oderwaniu od reszty aplikacji. Każdy stan komponentu, np. przycisk zwykły, wyłączony albo w trakcie ładowania, zapisuje się jako osobną „historię” (story), którą można otworzyć w przeglądarce i sprawdzić.

Jak działa Storybook?

Aplikacja składa się z komponentów, czyli powtarzalnych elementów: przycisków, pól formularza, kart produktów, okienek z komunikatami. Więcej o komponentach piszę w artykule o design systemie. W samej aplikacji wiele stanów trudno zobaczyć: żeby obejrzeć komunikat o nieudanej płatności, trzeba by tę płatność naprawdę zepsuć.

Storybook pokazuje każdy komponent osobno, na czystej stronie, ze wszystkimi stanami opisanymi jeden pod drugim. Po lewej masz listę komponentów i ich historii, po prawej wybrany stan, który możesz klikać, zmieniać mu teksty i oglądać na różnych szerokościach ekranu.

Okno Storybooka: po lewej lista komponentów i ich stanów, po prawej wybrany stan przycisku, pod nim kontrolki i sprawdzenie dostępności Przycisk główny drugorzędny wyłączony ładuje się Formularz pusty, z błędem Karta produktu Wyślij stan wyłączony, bez uruchamiania aplikacji Kontrolkitekst, rozmiar, ekran Dostępność ✓
Każdy stan komponentu to osobna historia na liście. Wybierasz ją i widzisz element dokładnie w tym stanie, bez szukania go w aplikacji.

Sam Storybook jest darmowy i ma otwarty kod (storybook.js.org). Działa z najpopularniejszymi technologiami do budowy aplikacji webowych, a gotowy katalog można opublikować pod osobnym adresem, który otworzy każdy z zespołu.

Co daje Storybook klientowi?

  • Wszystko widać w jednym miejscu. Zamiast prosić o zrzuty ekranu, otwierasz adres katalogu i oglądasz każdy element aplikacji, także rzadkie stany: pustą listę, błąd, bardzo długą nazwę produktu.
  • Łatwiejszy odbiór zmian. Nowy komponent albo zmianę wyglądu możesz zobaczyć i skomentować, zanim trafi do aplikacji.
  • Mniej niespodzianek. Komponent sprawdzony we wszystkich stanach rzadziej psuje się w miejscu, o którym nikt nie pomyślał.
  • Dokumentacja dla kolejnych osób. Nowy programista albo inny wykonawca widzi, jakie elementy już są i jak ich używać, zamiast budować je od nowa.

Z katalogu korzysta cały zespół: programiści budują w nim komponenty, projektant sprawdza, czy zgadzają się z projektem, tester przegląda trudne stany, a Ty oglądasz postęp i zgłaszasz uwagi. Wszyscy patrzą na to samo, więc rzadziej słychać „u mnie wygląda inaczej”.

Jak Storybook łączy się z design systemem?

Design system to zasady i komponenty, a Storybook to najczęstsze miejsce, w którym te komponenty są pokazane w kodzie. Projektant rysuje przycisk w programie graficznym, np. w Figmie, programista buduje go w kodzie i pokazuje w Storybooku. Gdy obie wersje się zgadzają, zespół ma jedno źródło prawdy: wiadomo, który przycisk jest właściwy.

Dlatego Storybook pojawia się zwykle razem z design systemem. Może też działać sam, jako katalog komponentów jednej aplikacji.

Czy Storybook pomaga w testach?

Tak. Każda historia to gotowy przypadek testowy, bo wiadomo, jak komponent ma wyglądać i zachowywać się w danym stanie. Do Storybooka można dodać automatyczne sprawdzanie dostępności (np. kontrastu i opisów dla czytników ekranu), testy interakcji (czy po kliknięciu „Wyślij” pojawia się komunikat) i testy wizualne, które porównują wygląd komponentów przed zmianą i po niej. Testy wizualne działają zwykle jako płatna usługa w chmurze. O rodzajach testów piszę w artykule Testy oprogramowania.

Kiedy Storybook się opłaca, a kiedy nie?

Opłaca się, gdy aplikacja ma wiele ekranów i komponentów, nad projektem pracuje kilka osób (programiści, projektant, tester), produkt będzie rozwijany latami albo powstaje design system dla kilku produktów naraz.

Nie opłaca się przy prostej stronie firmowej z kilkoma podstronami. Komponentów jest tam kilkanaście, zmieniają się rzadko i wystarczy obejrzeć je na samej stronie. Storybook to dodatkowy kod do utrzymania: przy każdej zmianie komponentu trzeba poprawić też jego historie, inaczej katalog przestaje odpowiadać temu, co jest w aplikacji.

Ile kosztuje Storybook?

Licencja nic nie kosztuje. Kosztem jest czas programisty: przygotowanie historii dla komponentów i ich aktualizowanie. W aplikacji, która i tak ma testy i design system, to niewielki dodatek. W małym projekcie to zbędny wydatek, który lepiej przeznaczyć na treści albo szybkość strony.

O co zapytać wykonawcę

  • Czy komponenty aplikacji będą miały swój katalog, np. w Storybooku?
  • Czy dostanę adres, pod którym obejrzę wszystkie elementy i ich stany?
  • Kto aktualizuje historie, gdy zmienia się komponent?
  • Czy katalog będzie częścią testów, np. dostępności albo wyglądu?

Najczęstsze pytania

Czy muszę umieć programować, żeby korzystać ze Storybooka?

Nie. Oglądasz go w przeglądarce jak zwykłą stronę: wybierasz element z listy i sprawdzasz jego stany. Programowania wymaga tylko przygotowanie historii.

Czy Storybook działa z każdą technologią?

Z większością popularnych technologii do aplikacji webowych, m.in. z React, Vue, Angular i Svelte. Dla aplikacji mobilnych w React Native jest osobna wersja.

Czym Storybook różni się od Figmy?

Figma to program do projektowania: pokazuje, jak element ma wyglądać. Storybook pokazuje, jak element naprawdę działa w kodzie. W dobrym projekcie oba się zgadzają.

Sebastian Musiał: programista i twórca stron internetowych dla firm. Robię strony firmowe, aplikacje webowe i mobilne oraz automatyzacje AI. Pracuję zdalnie z całą Polską, a na Śląsku (Katowice i okolice) także na miejscu.

Czytaj dalej

Więcej konkretów,
mniej żargonu.

Kontakt

Porozmawiajmy.

Napisz kilka zdań o swojej firmie i o tym, czego potrzebujesz. Odpowiadam w ciągu doby.

Zarezerwuj 30 min
  1. Piszesz kilka zdań
  2. Odpowiadam w 24 h
  3. Rozmawiamy 30 min