LabHub

ブログ

デザインシステム・トークン 2025 完全攻略:Radix・shadcn/ui・Chakra・Tamagui・Park UI・Ark UI・DaisyUI 比較、W3C Design Tokens 標準、Figma Variables・Tokens Studio 連携、コンポーネント API 設計、アクセシビリティ、韓国大企業事例 — Season 6 Ep 2

한국어English日本語

プロローグ · デザインシステムは CSS ではない

2020 年頃から、あらゆる組織が「デザインシステム構築プロジェクト」を始めた。2025 年現在、成功したシステム失敗したシステムがはっきりと分かれている。

よくある 3 つの誤解:

  1. 「design system = コンポーネントライブラリ」(×)
  2. 「design system = デザインチームの仕事」(×)
  3. 「design system = Figma ファイル」(×)

真実:

design system = トークン + コンポーネント + パターン + ドキュメント + ガバナンス。 そしてこれを Figma・コード・Storybook で同じように表現できる仕組み。

2024–2025 年は Figma Variables と W3C Design Tokens Community Group 標準が定着し、「Design-to-Code の接続がようやく実用段階に」入った年だった。この記事はその地形図である。

第 1 章 · デザインシステムの 5 層構造

成熟したデザインシステムは 5 層構造だ。

Layer 1: Primitive Tokens(原子トークン)

Layer 2: Semantic Tokens(意味トークン)

Layer 3: Component Tokens

Layer 4: Components(コンポーネント)

Layer 5: Patterns(パターン)

なぜ 3 段階のトークンなのか

Primitive だけを使うと

Semantic を挟めば

第 2 章 · 2025 年の主要コンポーネントライブラリ地形

(1) Radix UI (Primitives)

(2) shadcn/ui

(3) Chakra UI

(4) Tamagui

(5) Park UI(CVA ベース)

(6) Ark UI

(7) DaisyUI

(8) Mantine

(9) HeroUI(旧 NextUI)

(10) エンタープライズ:Ant Design、Material UI (MUI)、Fluent UI

総合比較表

ライブラリスタイルアクセシビリティカスタマイズエコシステム学習
Radix PrimitivesHeadless554
shadcn/uiTailwind555
ChakraStyled444
TamaguiStyled(cross)443中〜高
Ark UIHeadless543
DaisyUIStyled(CSS)334
MantineStyled444
MUIStyled335

第 3 章 · Headless か Styled か — どちらを選ぶか

Headless(Radix・Ark・React Aria)

Styled(Chakra・MUI・Ant・Mantine)

Hybrid(shadcn/ui・DaisyUI)

選択基準

Headless が合うケース

Styled が合うケース

Hybrid(shadcn)が合うケース

第 4 章 · W3C Design Tokens 標準

2024–2025 年、W3C Design Tokens Community Group (DTCG) の標準フォーマットが定着した。

標準フォーマット(DTCG 2024)

{
  "color": {
    "brand": {
      "primary": {
        "$value": "#0066ff",
        "$type": "color",
        "$description": "Main brand color"
      }
    }
  }
}

主な特徴

主な Type

Figma Variables(2023–2024)

連携ツール

(1) Tokens Studio for Figma

(2) Specify

(3) Style Dictionary(Amazon)

(4) Supernova

実戦ワークフロー

Figma Variables / Tokens Studio
         ↓ push
    GitHub (tokens/*.json)
         ↓ CI
    Style Dictionary
         ↓ build
[web.css, ios.swift, android.xml]
         ↓ publish
    NPM · CocoaPods · Maven

第 5 章 · コンポーネント API 設計原則

ライブラリの価値を決めるのは API 設計だ。使い心地がよければ定着し、難しければそっぽを向かれる。

5 つの原則

(1) Composition over Props

(2) Controlled と Uncontrolled の両対応

(3) asChild パターン(Radix)

(4) ポリモーフィックな as prop(ただし型が複雑)

(5) Variant パターン

const button = cva('base-classes', {
  variants: {
    size: { sm: '...', md: '...', lg: '...' },
    variant: { primary: '...', ghost: '...' },
  },
});

悪いサイン

第 6 章 · Theming とダークモード

2025 年の標準アプローチ

  1. Semantic Tokens で色を抽象化(surfacetextborder)
  2. CSS Variables ベースでテーマをランタイム切り替え
  3. prefers-color-scheme メディアクエリ + ユーザー選択を保存
  4. SSR のちらつき防止:サーバー側で localStorage を読むか、初期 HTML にクラスを挿入

実装例(shadcn/ui デフォルト)

'use client';
import { ThemeProvider } from 'next-themes';

export default function Root({ children }) {
  return (
    <ThemeProvider attribute="class" defaultTheme="system">
      {children}
    </ThemeProvider>
  );
}
:root { --background: 0 0% 100%; --foreground: 222.2 84% 4.9%; }
.dark { --background: 222.2 84% 4.9%; --foreground: 210 40% 98%; }

色の細分化(2024–2025)

第 7 章 · アクセシビリティ — デフォルト哲学

「アクセシビリティは追加機能ではなく、デフォルトだ。」

WCAG 2.2(2023)の主要変更

デザインシステムのデフォルト

主要ツール

法的要求

第 8 章 · モバイル・クロスプラットフォームのデザインシステム

Web と モバイルの共存戦略

(1) 分離運用

(2) React Native 共有

(3) Flutter

2024–2025 のトレンド

第 9 章 · 韓国大企業のデザインシステム事例

Toss(TDS / Toss Design System)

Kakao(Kakao Design Language)

Coupang(Coupang Design System)

LINE(LINE Design System、LDS)

Baemin / Woowa(Woowa Design System)

共通パターン

第 10 章 · チーム規模別の導入戦略

1–3 名(個人・アーリーステージ)

10–30 名(Series A–B)

50–200 名(Series C 以上)

200–1500 名(大企業)

共通の失敗パターン

第 11 章 · 実戦 · 「shadcn で社内デザインシステムを始める」90 日

Day 1–14:トークン定義

Day 15–30:基礎コンポーネント

Day 31–45:パターン

Day 46–60:ガバナンス

Day 61–75:アクセシビリティ

Day 76–90:展開・教育

第 12 章 · 次回予告 — Season 6 Ep 3:「AI-Native UI と Generative UX」

デザインシステムがあれば、次は AI が UI を作る時代だ。Ep 3 では AI-native UI パターンを扱う。

「AI が応答を生成している間、ユーザーは何を見ているのか?」

次回の記事で会おう。

エピローグ · チェックリスト 12

  1. デザインシステムがトークン・コンポーネント・パターン・ドキュメント・ガバナンスの 5 層を備えているか?
  2. Primitive と Semantic トークンが分離されているか?
  3. Figma とコードの同期パイプラインがあるか?
  4. コンポーネントが Composition・Controlled・Variant パターンを一貫して使っているか?
  5. ダークモードがテーマトークンの差し替えだけで自動切り替えになっているか?
  6. アクセシビリティ(WCAG 2.2) のデフォルトが組み込まれているか?
  7. Storybook とドキュメントサイトが最新の状態か?
  8. トークンが DTCG 形式で保存されているか?
  9. 貢献ガイド・レビュー基準がドキュメント化されているか?
  10. 既存 UI から新 DS へのマイグレーション計画があるか?
  11. デザインシステムが実プロダクトに 80% 以上使われているか?
  12. 保守担当が明確か?

「良いデザインシステムは見えない。 プロダクトが『当然こうあるべき』と感じられれば、システムは正しく機能している。」

— Season 6 Ep 2, Fin.

コメント

まだコメントはありません。

ログインするとコメントできます