Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
あきらめる Atomic Design
Search
TomPenguin
June 02, 2021
Design
5
740
あきらめる Atomic Design
がんばらない
TomPenguin
June 02, 2021
Tweet
Share
More Decks by TomPenguin
See All by TomPenguin
Domain Modelを共有していい感じにプロダクトを作る
tompenguin
0
330
【JavaScript】Strategy Patternっぽいのをちょい使いしてif分を駆逐する
tompenguin
0
210
【JavaScript】クロージャを理解して正しく使う
tompenguin
0
520
Git ゼンゼン ムズカシクナイ
tompenguin
0
550
Other Decks in Design
See All in Design
AIで加速するアクセシビリティのこれから
magi1125
3
670
【30人中30人が3ヶ月平均180万収入アップ】マズロー安達の弟子、成功事例集
maslow_akkun
0
300
Hatena Engineer Seminar #33 チームと開発するためのモック
takuwolog
0
420
minpaku-community-scrum-patterns
norinity1103
1
340
Marpで推しCSSスライドを作ろう! / marp-with-favorite-css
fujiemon
0
580
「UXとUIの違い」v2
shirasu3
0
230
ランドマークが光る!季節を彩るナビ体験 - Mobility Night #3 -
kitau
0
120
What makes a great Director?
_limex_
0
210
サービスデザインにおける、 映像活用の可能性(Spectrum Tokyo Meetup #18)
ka71
0
160
児童相談所における養育里親委託時の親権者同意に向けたコミュニケーションの実態
trivia
0
540
街・都市という眼差し。まちづくりにおける規範と実践
sakamon
0
130
1920*1080pxに設定したケース / Google Slide Size Test
arthur1
0
3.3k
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
A Tale of Four Properties
chriscoyier
160
23k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
The World Runs on Bad Software
bkeepers
PRO
70
11k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
What's in a price? How to price your products and services
michaelherold
246
12k
Writing Fast Ruby
sferik
628
62k
Transcript
あきらめる Atomic Design TomPenguin karabiner. inc 2021/06/02 案件が回ればいいじゃない
あなたは誰ですか? Vue.jsばっかりさわっているエンジニア 仙台から福岡のシステム開発会社へフル リモートで勤務 昔は仙台の某百貨店の店員 TomPenguin tompenguin_ Work at karabiner,
inc
話を聞いて欲しい人 • デザイナー • エンジニア
あきらめるまでの手順 ① まずは知る ② 嫌なところ ③ 何がうれしいのか ④ 感覚をつかむ ⑤
Molecule と Organism ⑥ 頑張ることをあきらめる
話さないこと • コンポーネントのI/F周り • データの扱い方 • 具体的な実装方法 • テスト
① まずは知る
Atomic Design とはデザインシステムを構築するための方法論です。 ① まずは知る
None
① まずは知る デザインシステム とはこれです Material Design / https://material.io
つまり、Atomic Design とは フロントエンドのためのものではない ① まずは知る
とはいえフロントエンドの設計とは 親和性が高いので 良いトコどりをしていこう というのが本日のスタンス ① まずは知る 原典通り運用するのは あきらめたよ
② 嫌なところ
② 嫌なところ • なんかちょっと難しい • 小さいプロジェクトには向かない • 命名で悩みがち • ビルドが重くなりがち
• データの管理が難しくなりがち
② 嫌なところ 嫌なところはありつつも、 それを上回るメリットが大きい!
③ 何がうれしいのか
From the designer ③ 何がうれしいのか • UI/UXの一貫性が高まる • デザインを理解しやすくなる •
適切な要素を素早く見つけられる
From the engineer ③ 何がうれしいのか • コンポーネントの再利用性が高まる • 仕様やUIの変更に強くなる •
作業分担がしやすくなる
From the team ③ 何がうれしいのか • 要素の分割時の指針ができる • 共通言語で会話のコストが減る
④ 感覚をつかむ
5つのレベルに分類する ④ 感覚をつかむ https://atomicdesign.bradfrost.com/chapter-2/
5つのレベルに分類する ④ 感覚をつかむ https://atomicdesign.bradfrost.com/chapter-2/ ボトムアップ的手法
④ 感覚をつかむ ボトムアップで作るのは難しい ボトムアップは あきらめたよ
④ 感覚をつかむ まずはデザインカンプを一つ作り そこから要素を分割していく のがおすすめ デザインカンプができている 前提で話をすすめるよ
分割するときの観点 ④ 感覚をつかむ https://atomicdesign.bradfrost.com/chapter-2/ 再掲
分割するときの観点 ④ 感覚をつかむ https://atomicdesign.bradfrost.com/chapter-2/ 再掲 ✘ Page はビルドされてクライアン トで表示されたものだよ
④ 感覚をつかむ これはどのレベルでしょう? https://atomicdesign.bradfrost.com/chapter-2/
④ 感覚をつかむ これはどのレベルでしょう? Atom https://atomicdesign.bradfrost.com/chapter-2/ (あとむ)
④ 感覚をつかむ これはどのレベルでしょう? Atom https://atomicdesign.bradfrost.com/chapter-2/ • 分割できない最小要素 • デフォルトのUI •
トンマナを合わせる 例)ボタン、入力欄、ラベル、見出し、 画像、カード、配色・フォントなど (あとむ)
④ 感覚をつかむ これはどのレベルでしょう? https://atomicdesign.bradfrost.com/chapter-2/
④ 感覚をつかむ これはどのレベルでしょう? Molecule https://atomicdesign.bradfrost.com/chapter-2/ (もる[れ]きゅーる)
④ 感覚をつかむ これはどのレベルでしょう? Molecule https://atomicdesign.bradfrost.com/chapter-2/ • Atom の組み合わせ • 汎用的な機能を提供する
• 単体では意味を成さない 例)検索フォーム、カードリスト、シェア ボタンリストなど (もる[れ]きゅーる)
④ 感覚をつかむ これはどのレベルでしょう? https://atomicdesign.bradfrost.com/chapter-2/
④ 感覚をつかむ これはどのレベルでしょう? https://atomicdesign.bradfrost.com/chapter-2/ (おーがにずむ) Organism
④ 感覚をつかむ これはどのレベルでしょう? https://atomicdesign.bradfrost.com/chapter-2/ • Atom か Molecule の組み合わせ •
特定のサービスを知っている • 独立して使用できる要素 例)ヘッダー、フッター、ナビゲーション、記事 要素のような独立したコンテンツなど (おーがにずむ) Organism
④ 感覚をつかむ これはどのレベルでしょう? https://atomicdesign.bradfrost.com/chapter-2/
④ 感覚をつかむ これはどのレベルでしょう? Template https://atomicdesign.bradfrost.com/chapter-2/ (てんぷれーと)
④ 感覚をつかむ これはどのレベルでしょう? Template https://atomicdesign.bradfrost.com/chapter-2/ • 組み合わせてレイアウトする • 1ページに1つ (てんぷれーと)
⑤ Molecule と Organism
⑤ Molecule と Organism 要素を分割していくときに頻出する問題 え、これ Molecule? Organism?
⑤ Molecule と Organism こんなものは Molecule https://www.futurelearn.com/info/blog/atomic-desi gn-molecules-organisms • 単体では何ができるか分からない
• 他の要素を「補助」している • 分解すると構成要素がボタン、ラベ ル、見出しなどになる (Helper)
⑤ Molecule と Organism こんなものは Organism https://www.futurelearn.com/info/blog/atomic-design-molecules-organisms • 単体で何ができるのか分かる •
独立して存在することができる • 分解すると構成要素がシェアボタン リスト、検索フォームなどになる (Standalone)
⑤ Molecule と Organism それでもやっぱり分からない https://www.futurelearn.com/info/blog/atomic-design-molecu les-organisms
⑤ Molecule と Organism それでもやっぱり分からない https://www.futurelearn.com/info/blog/atomic-design-molecu les-organisms ぱっと見は Organism だよなあ
いやでもこれ なにがシェアされるか分からんな (じゃあ Molecule か?)
⑤ Molecule と Organism そういう時はデザインを変更するという手もある https://www.futurelearn.com/info/blog/atomic-design-molecu les-organisms たとえばここにコース名を 入れてみたらどうだろう
⑥ 頑張ることをあきらめる
⑥ 頑張ることをあきらめる あまりこだわりすぎない • 厳密に分類することにあまり価値は ない • 正直なところ Atom と
Molecule の 分割はそんなに重要ではない 肩の力をぬいていこうね
⑥ 頑張ることをあきらめる すべてをAtomで作らなくてもよい • やりたくなっちゃうけど我慢 • 特定のMoleculeでしか使われない AtomはMoleculeの中で実装しても 良い 肩の力をぬいていこうね
かえって実装増えちゃうからね
⑥ 頑張ることをあきらめる 決まった区分・分割は尊重する • 後から蒸し返したりしない • 十分な根拠のある反対意見でもなけ れば尊重しよう 肩の力をぬいていこうね リスペクトは大事よ
参考文献 • https://atomicdesign.bradfrost.com/ • https://www.futurelearn.com/info/blog/atomic -design-molecules-organisms • https://design.dena.com/design/atomic-design- %E3%82%92%E5%88%86%E3%81%8B%E3%81 %A3%E3%81%9F%E3%81%A4%E3%82%82%E3
%82%8A%E3%81%AB%E3%81%AA%E3%82%8B • https://www.amazon.co.jp/dp/B07CJ5TLK2/ref =dp-kindle-redirect?_encoding=UTF8&btkr=1