デザインシステム

UI コンポーネント、デザイントークン、ガイドラインを体系化し、一貫した UI を実現する仕組み

UIフロントエンド
デザインシステム」の技術書を見る (9 冊) →

デザインシステムとは

デザインシステムは、UI コンポーネント (ボタン、フォーム、カード)、デザイントークン (色、フォント、スペーシング)、ガイドラインを体系化し、プロダクト全体で一貫した UI を実現する仕組みである。

構成要素

構成要素を以下にまとめる。

要素説明
デザイントークン色、フォント、スペーシングの定義--color-primary: #3b82f6
コンポーネント再利用可能な UI パーツButton, Input, Card
パターンコンポーネントの組み合わせフォーム、ナビゲーション
ガイドライン使い方のルールボタンの使い分け
ドキュメントStorybook、使用例コンポーネントカタログ

デザイントークン

デザイントークンの例を示す。

:root {
  /* 色 */
  --color-primary: #3b82f6;
  --color-error: #ef4444;
  --color-text: #1f2937;
  --color-bg: #ffffff;

  /* スペーシング */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;

  /* フォント */
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.25rem;

  /* 角丸 */
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
}

コンポーネントの例

コンポーネントの例を示す。

interface ButtonProps {
  variant: 'primary' | 'secondary' | 'danger';
  size: 'sm' | 'md' | 'lg';
  children: React.ReactNode;
  onClick?: () => void;
  disabled?: boolean;
}

function Button({ variant, size, children, ...props }: ButtonProps) {
  return (
    <button className={`btn btn-${variant} btn-${size}`} {...props}>
      {children}
    </button>
  );
}

有名なデザインシステム

有名なデザインシステムを以下にまとめる。

デザインシステム企業
Material DesignGoogle
Human Interface GuidelinesApple
FluentMicrosoft
CarbonIBM
CloudscapeAWS

Storybook との連携

Storybook でコンポーネントカタログを作成し、デザイナーと開発者が同じ参照先を見る。

デザインシステムが必要なタイミング

デザインシステムが必要なタイミングを以下にまとめる。

✅ 必要❌ 不要
複数プロダクトで UI を統一1 つの小さなプロジェクト
デザイナーと開発者の協業個人開発
チームが 5 人以上1〜2 人のチーム

全体像を把握するには関連書籍も有用。

この記事は役に立ちましたか?

関連用語

関連する記事