Přejít k navigační liště

Zdroják » Webdesign » Storybook pro snadné generování přehledu UI komponent

Storybook pro snadné generování přehledu UI komponent

Články Webdesign

Představíme šikovný nástroj, který vám pomůže s tvorbou rozsáhlejšího webu.

Text vyšel původně na autorově webu.

Při kódování zvlášť větších webů vzniká problém – nikdo už si nepamatuje, jaké věci jsou již vytvořené.

Když je potom potřeba přidat novou funkcionalitu, buď se musí celá nakódovat, nebo složitě procházet web a hledat, jestli by nešlo použít už něco hotového.

Tyto problémy snižuje existence tzv. styleguidu. Storybook je jedním z takových nástrojů, který styleguide dokáže snadno vytvořit.

V praxi se jedné o samostatnou aplikaci s přehledem použitých komponent na webu. Je možné z ní vygenerovat statický web a ten vystavit veřejně.

To ale není vše, má to další užitečné vlastnosti:

  1. Snadnější testování a vývoj – ve Storybooku jdou znázornit všechny myslitelné stavy komponent a snadno mezi nimi přepínat. Není tak nutné složitě simulovat požadovaný stav přímo v aplikaci.Přepínání stavů komponenty
  2. Spolupráce více lidí – frontend vývojář si může bokem připravit jednotlivé komponenty bez nějakých závislostí na backendu. Práce jde díky tomu i lépe rozdělit mezi více lidí. Jeden člověk může kódovat komponenty ve Storybooku a jiný je potom implementovat do systému.
  3. Dokumentace – styleguide slouží zároveň jako dokumentace. Kromě zobrazení všech stavů je možné přidat i vlastní textové poznámky k použití.
  4. Sdílení stylů napříč projekty – je-li potřeba nějaké společné styly používat na různých projektech, styleguide může hodně pomoci. Vytvoří se nový repositář se Storybookem, kde se společné hotové styly odprezentují, a celé se to potom připojí jako závislost.
  5. Podpora různých frameworků/knihoven – není nutné používat jenom např. React, ale podporována je prakticky libovolná populární JS knihovna, web komponenty, čisté HTML, čisté CSS nebo různé CSS preprocesory.
    • React
    • Vue
    • Angular
    • Web Components
    • Ember
    • HTML
    • Mithril
    • Marko
    • Svelte
    • Riot
    • Preact
    • Rax

Instalace

Nejjednodušší je nainstalovat do projektu přes npx:

npx sb init

Pokud npx neexistuje, stačí doinstalovat přes npm install -g npx.

Instalace Storybooku je tak chytrá, že automaticky rozpozná použitý JS framework, vše podle toho nainstaluje a připraví v daném stylu ukázku.

Spouští se přes:

npm run storybook

Zobrazit by se měla nová stránka s příkladem pár komponent:

Dokumentace komponenty

Ve výchozím nastavení se komponenty, které mají být zdokumentované ve Storybooku, dávají do složky stories.

Hned vedle komponenty ke zdokumentování se vytvoří další komponenty se stories před příponou, která popisuje, jak se má komponenta používat.

Příklad ve Svelte:

U komponenty mohou být i CSS styly, které se do ní potom importují, záleží na preferovaném způsobu stylování.

Tento postup není nijak vnucený, samotné komponenty i stories mohou být v libovolných umístěních.

Samostatná složka se vůbec nemusí používat, klidně stačí založit vedle komponenty soubor neco.stories.js a Storybook si to sám najde.

(Dokonce i ty soubory mohou mít místo stories v názvu třeba fytopuf a může to při požadovaném nastavení v .storybook/main.js fungovat.)

To je hezká vlastnost Storybooku, že jde snadno začlenit i do již existujícího projektu a začít postupně dopisovat dokumentaci.

Storybook a Vite

Kromě různých JS frameworků Storybook podporuje i jiné nástroje pro build.

Jde použít i Vite a výrazně si zrychlit celý build a následný hot reload.

Stačí nainstalovat s parametrem pro Vite builder:

npx sb init --builder storybook-builder-vite

Závěr

Osobně nevidím moc důvod nástroj typu Storybook nepoužívat. Není jen pro nové projekty, jde ho okamžitě přidat i do něčeho staršího. Snad s výjimkou nějakého prototypování, kdy může psaní dokumentace zdržovat, ale u dlouhodobého projektu se vyplatí.

Komentáře

Odebírat
Upozornit na
guest
1 Komentář
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
Zobrazit všechny komentáře
Jiří

Děkuji za článek.

Stack Overflow spouští AI Assist: nový nástroj pro moderní vývojáře

Stack Overflow představil AI Assist, nástroj, který propojuje generativní AI s rozsáhlou databází ověřených znalostí komunity. Platforma, která byla více než 18 let klíčovým zdrojem řešení pro vývojáře po celém světě, tím reaguje na změny ve způsobu práce s informacemi. Cílem AI Assist je zrychlit hledání odpovědí, zvýšit jejich spolehlivost a nabídnout kontext, který pomáhá lépe porozumět problému i řešení. Tento krok odráží trend, kdy se vývojáři čím dál více obracejí na nástroje, které dokážou kombinovat rychlost AI s ověřenými znalostmi komunity. AI Assist se tak stává mostem mezi tradičním Q&A formátem a moderními interaktivními asistenty.

Austrálie vs. sociální sítě: ochrana dětí nebo absurdní regulace?

Různé
Komentáře: 1
Austrálie chystá razantní krok – od prosince 2025 budou děti mladší 16 let muset opustit sociální sítě. Ministryně komunikací Anika Wells ujistila, že vláda se nenechá zastrašit technologickými giganty. Zákon má chránit mladé uživatele před negativními dopady online světa, ale kritici varují, že může vést spíš k obcházení pravidel než k reálné ochraně.

Tor přechází na nový šifrovací algoritmus CGO

Různé
Komentáře: 0
Tor Project představil nový šifrovací algoritmus Counter Galois Onion (CGO), který nahrazuje zastaralý systém tor1. CGO přináší výrazně lepší ochranu proti manipulaci a sledování, zajišťuje forward secrecy a silnou autentizaci přenášených dat, přičemž zachovává vysokou výkonnost a nízkou režii provozu.