Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Alternative to Storybook を探す旅

grgr-dkrk
December 07, 2022
1.9k

Alternative to Storybook を探す旅

grgr-dkrk

December 07, 2022
Tweet

Transcript

  1. アドベントカレンダー被りました アクセシビリティ アドベントカレンダー 2022 の 7 日目を担当しました。 axe-core の Rules

    がテストされるまでをざっくり書く - きるこの日記帳 https://www.dkrk-blog.net/a11y/axe-rules
  2. ‣ Storybook の成熟したコミュニティとエコシステムは強い ‣ でも Storybook の運用はつらい ‣ v7 でどれだけ改善されるかにもよるが

    ‣ 代替手段を探すのは、「今のままで本当にいいのか」を問うきっかけとして悪くなかった tl;dr ※ 当 LT の内容は Storybook を否定するものではありません
  3. Frontend workshop environment※ を構築する。 React 用だったが、現在では様々なライブラリ、フレームワークに対応。 ホスティング/テスティングの SaaS として Chromatic

    もある Storybook について ※ アプリケーションから独立したフロントエンドの環境、いわゆるデザインカタログ
  4. Storybook でいつも思ってしまうこと① ‣ 肥大化 ‣ メンテナンスがつらい ‣ 主に依存関係のトラブル、Diamond Dependency Problem

    ‣ アップグレードもつらい ‣ メンテナー側も大変そう、日々対応に追われている感じがある ‣ "次のアップデートで直ります"
  5. Storybook でいつも思ってしまうこと② ‣ Storybook, Chromatic にロックインされ続けるのでは ‣ Storybook が入っていて、テストまで回ってないと石を投げられる ‣

    「Chromatic を使ってテスト回してます」言うだけで採用戦略になり得る ‣ 6.5.0 から Telemetry がオプトインされて巨大な何かになってきた
  6. Storybook やりたかったこと ‣ 唯一無二の UI カタログ ‣ Single Source of

    Truth の生成機構が壊れやすいのはつらい ‣ Figma とのコラボレーション ‣ Gist いじれば何でもいい(Storybook Connect プラグインが微妙) ‣ Play function とか Chromatic とか ‣ ヒソカ もう十分だ
  7. 求めてみること ‣リッチすぎなくていい ‣ 機能も controles, a11y, docs があればいい ‣複雑さはない方がいい ‣

    UI で React と Vue.js が一緒に動いてなくて emotion とか使ってなければいい ‣サイズでかい、ビルド遅い問題へのソリューションは重視しない ‣ Storybook も徐々にサポートしつつあるから
  8. @ladle/react ‣ Vite (現状は cjs 版もある) ‣ CSF と互換性がある ‣

    Control, a11y, Decorator などのアドオン ‣ ビルド時に各 Story の meta を生成してくれる ‣ テスト時にも使える ‣ core と renderer を分離し、React 以外もサポート予定 LTUBSSFE
  9. React Cosmos ‣ 使う側の Webpack を使う ‣ foo.fixture.js にコンポーネントを入れる ‣

    fixture をメタデータとして出力する API がある ‣ docs や testing としてのライブラリでない ‣ port:5000 を使う。注意 ‣ React18 未サポート(v6 でサポート予定) LTUBSSFE
  10. Histoire ‣ Vite & esbuild ‣ リッチな UI で多機能、アドオンもある ‣

    ただし Plugin API の制約が多く拡張性はまだ ‣ Tailwind を検出してデザインガイドを生成 ‣ Tailwind ありきなのはちょっと気になる ‣ 解決に起因するトラブルが起きた… LTUBSSFE
  11. 感想 ‣ パラダイムシフトから作られているものは多め。IE 廃止と ESM と Vite ‣ Ladle と

    Histoire が良かった ‣ この 2 つは Contribute してみたいなと思った ‣ Ladle は v7 までの様子見で使ってみても良さそう ‣ 現状は Storybook が成熟していて強い、と思った ‣ ただ「Storybook で本当にいいのか?」を問ういい機会になった