LoginSignup
1
1

デザインシステム・デザイントークンについて

Posted at

この記事の目的

デザインシステムの導入を検討するにあたり、情報整理のための記事です。

デザインシステムとは

企業のビジョンやブランドアイデンティティなどから「良いデザイン」を定義するデザイン原則などのドキュメント
それらを具体的にデザイン・実装するためのUIパターンやコンポーネント
などを備えた一連のリソースのこと
https://blog.nijibox.jp/article/design_system/

構成要素ざっくり

デザイン原則:プロダクトに関わるステークホルダーがプロダクトを作っていく上で大事にすることを言語化したもの
原則に基づいたルール(スタイルガイド)
原則に基づいたツール(コンポーネントライブラリ)

デザイントークンとは
キーワード:Single Souce of Truth

名前と値のペアであり、その名前に関連した情報
それ以上分割できない、粒度の小さい情報

導入のメリット

対デザイナー

  • デザインの修正を気軽にしやすくなる(これが1番大きい)
  • 最初の設定さえきっちりしていれば、色変えたいけど工数かかるよな...とかなくなる
  • figmaのローカルスタイルを定義するのの拡張版のような感じなので、一回定義しなおしてしまえばデザインがしやすくなる
  • デザインする時にブレがなくなる(ここのボーダーの色他と違ってた〜などがなくなる)

対エンジニア

  • うまくツールで連携していけば、variablesに定義するところまでを自動化できる
    • storybookへの反映もうまくできそう
  • フロントエンド領域(主にマークアップ)が苦手な人が実装する箇所がもっと減る

  • githubをうまく利用すればfigma更新したら自動でデザイントークンリリースできる形へ設計可能
  • 心得として未完成の状態(70%の状態)で進めていくことが大事

導入すると良いツール

figma tokens

jsonコミットしてPRを作ってくれる

style dictionary

↑で作った変数を出力してくれる
figma更新で各ドメインに対応したものを自動リリース
https://zenn.dev/ubie_dev/articles/7a6413af237eae?redirected=1#style-dictionary

流れイメージ
https://qiita.com/takusan64/items/b574b5f82594d3f8bf05

figmatokens

  • プラグインに先にスタイルを設定→該当するものをクリックすることで適用される
  • 既存のスタイルガイドの要素に適用すればその内容は反映される+コピーした内容やコンポーネント化した内容でも、figma tokensがきちんと適用されていれば、一気に変更が可能
  • ただし、すでにある要素でコンポーネント化していないものについては、コピーして作成していたとしても個別で適用していかないといけない→ここが時間かかりそう

https://blog.microcms.io/styledictionary-storybook/
https://note.com/seyanote/n/n7b327a9cfd72
https://engineerteam.note.jp/n/n91ea9db3bb5d

定義するべき項目

figma tokensで定義できるもの 可能な限り

figmatokens→style dictionary→storybookまでの連携
↓gitlab連携のパターン
https://creators.bengo4.com/entry/2023/02/28/120000#2Tokens-Studio-for-Figma%E3%82%92GitLab%E3%81%AB%E9%80%A3%E6%90%BA%E3%81%99%E3%82%8B

CSSとの連携

cssプロパティなども全部トークン経由で更新している会社もある(noteさんなど)
tailwindだとconfigに全部設定できるので楽そう..

bootstrapはあまり参考記事が見つけられず...
https://smth.uk/use-design-tokens-to-customise-bootstrap/

1
1
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
1
1