LoginSignup
26
23

More than 3 years have passed since last update.

10分で説明するAtomic Design と、弊チームで扱うためのカスタマイズについて

Last updated at Posted at 2020-01-15

Atomic Design とは(解釈)

  • 部品の組み合わせでUIを作れるようにするもの
  • 5つのグループに分類し、それらの依存を一方向にして管理
  • グループやその役割は自由にカスタマイズしていい

ポイント

  • 各グループの役割をしっかり決める、認識する
  • グループの依存方向を守る

5つのグループの役割

グループ名 組合せ可 関わる人 担保するもの 特徴
atoms x dev トンマナ、基本デザイン ・UIパーツの最小構成部品
・他のコンポーネントには依存しない
・配置パターンもatomsに含まれる
molecules o dev 操作性 ・atomsを組み合わせて作る部品
・atomsの原始的行動に意味を付加する
 ・eg.文字を入れる+クリックする=検索する
organisms o dev 機能、価値、サービス ・atoms,molecules,organismsを組み合わせて作る部品
・独立して機能し、他のページでも同じ意図で使える
templates o dev+biz レイアウト ・atoms,molecules,organismsを配置する
・プレイスホルダーだけのスケルトンの状態
pages o dev+biz 流し込むデータ ・templatesにデータを流し込みページを動かす

境界

  • atoms vs molecules
    • 単独コンポーネントか(atoms)複数組合せコンポーネントか(moelcules)
  • molecules vs organisms
    • 組み合わせによって意味/意図が変わるか(molecules)否か(organisms)
  • organisms vs templates
    • 配置を自由に変えられる(templates)か否か(organisms)
  • templates vs pages
    • 実際のデータに依存するか(pages)否か(templates)

依存の方向について

image.png
(本家ブログより)

  • 自分自身から図中左側のレイヤーのみに依存する
  • 修正したレイヤーより図中左側のレイヤーには影響が出ない状態

グループのカスタマイズ

  • スマホ用のコンシューマー向けサイトと、PC用の業務向けサイトで同じグルーピングが通用するか?
    • -> NO

うちのチームの場合

  • 対象プロダクトの特徴
    • 多機能な巨大UI部品がある(一覧テーブル、オプション選択リストなど)
    • 1ページ内に複数の目的を持たせたダッシュボードの様なページはほぼない
  • 上記とAtomicDesignの差
    • 複雑な部品が多く、ほとんどorganismsになりかねないので、moleculesを組み合わせたmoleculesを許容する
    • 本来global stateと繋ぐのはpagesだけだが、バケツリレーがひどくなるためorganismsでも許容する
      • ただし、そのorganisms固有とツール全体の汎用データのみ
    • 使いまわせるtemplatesが少なく、レイアウトを変える機会も少ないいため、templatesは必須としない
      • pagesである程度レイアウトしてしまう
    • 場合によってはmoleculesとorganismsの間にもう1階層追加する必要がでるかもしれない

まとめ

  • 本来はUI設計手法なのでもっといろんな要素があるが、まずは役割、分類、依存方向だけ意識してやっていき

参照

26
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
23