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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
akki
February 11, 2020
Technology
3.9k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
「明日からフロントもよろしく」と言われたときに備える Atomic Design
akki
February 11, 2020
More Decks by akki
See All by akki
Open AI APIを使う前に知っておきたいアカウントTier の話
akki_megane
0
4.4k
データの民主化はじめました 俺たちの民主化はこれからだ
akki_megane
2
2k
フィーチャートグルを 使って素早く価値を検証する 早く安全に失敗し学ぶために
akki_megane
0
3.4k
技術的負債を返し続ける取り組み
akki_megane
0
670
Editor 調査
akki_megane
0
230
Laravel Vapor Serverless Laravel
akki_megane
2
410
アノテーションコメントについて調べてみた
akki_megane
2
920
入門 無限LT
akki_megane
0
5.1k
PHP Insights - リファクタリングが100倍楽しくなるツール -
akki_megane
3
1.7k
Other Decks in Technology
See All in Technology
小さく始める AI 活用推進 ― 日経電子版 Web チームの事例/nikkei-tech-talk47
nikkei_engineer_recruiting
0
300
いまさら聞けない「仕様駆動開発入門」 〜AI活用時代の開発プロセスを考える〜
findy_eventslides
2
160
サイバーエージェントにおけるAI推進戦略と変革への取り組み
shotatsuge
0
190
LayerXにおけるセキュリティ管理の現在地と次の一手
tosho
0
250
SONiCのLinuxベースを活かしたZabbix監視
sonic
0
230
IaC コードを資産へ:AWS CDK 社内ライブラリと横断展開 / aws-summit-japan-2026
gotok365
7
1.3k
気軽に使える"情報のハブ"としてのNotion活用 〜フロー情報の集積点 と、 Claude Code × Notion AI〜
syucream
1
160
[チョークトーク資料]AWS DevOps Agent を使いこなす / AWS Dev Ops Agent Chalk Talk AWS Summit Japan 2026
kinunori
3
600
攻撃者視点で考えるDetection Engineering
cryptopeg
3
2k
FPC(フレキシブル)基板にZephyr実装してみた。
iotengineer22
0
130
自宅LLMの話
jacopen
1
670
Lightning近況報告
kozy4324
0
200
Featured
See All Featured
Leo the Paperboy
mayatellez
7
1.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
420
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
210
Designing for humans not robots
tammielis
254
26k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
200
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
A designer walks into a library…
pauljervisheath
211
24k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
360
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Transcript
2020/02/1 Phperkaigi 2020 ルーキーズLT 秋葉 誠一 @akki_megane 「明日からフロントもよろしく!」 と言われたとき備える Atomic
Design でのフロントエンド設計
自己紹介 @akki_megane 名前:秋葉 誠一 好きな技術:PHP、Serverless 会社:ROXX (2月に転職しました) 趣味:スノボ、サバゲ、野球
前置き SPA (Single Page Application)で作りたい! はよくあること 複雑化するフロントエンドに対して、 バックエンドとフロントエンドで分業することも最 近は多くなりました
前置き SPA (Single Page Application)で作りたい! はよくあること 複雑化するフロントエンドに対して、 バックエンドとフロントエンドで分業することも最 近は多くなりました が、そんなに都合よく人はいない
前置き 明日からフロントもやって (またはやるしかない)
現代のフロントエンド コンポーネント指向での開発が一般的 (GUI の部品を作る)
コンポーネント設計がむずい 分け方とかよくわからん、、、 粒度、役割、etc けど、揃えないとまさにカオス
コンポーネント設計がむずい そこで Atomic Design
Atomic Design
Atomic Design • web デザイナーのBrad Frost が提唱 • ビジュアル的なデザインではなく「設計」という意味 のほうが強いです
• インターフェイスシステムを作成するための設計 方法論 • 5つの異なる階層で構成される • UIをまとまりのある全体とパーツの集合体である ととらえるメンタルモデル 原典
Atomic Design Atomic is 原子
Atomic Design
None
Atomic Design Atom(原子)が結合してMolecules (分子)を形成し Molecules (分子)はさらに結合して、より複雑な Organisms (生物)を形成する この考えをベースにUIシステムを構築する
Atomic Design 1. Atoms (原子) 2. Molecules (分子) 3. Organisms
(生物) 4. Templates (テンプレート) 5. Pages (ページ)
Atomic Design 1. Atoms (原子) 2. Molecules (分子) 3. Organisms
(生物) 4. Templates (テンプレート) 5. Pages (ページ) UIの構成する基本的な要素 これ以上分解することのできない要素 最も抽象的な要素 基本的なHTML要素が含まれる ラベル、インプットフォーム、ボタン
Atomic Design 1. Atoms (原子) 2. Molecules (分子) 3. Organisms
(生物) 4. Templates (テンプレート) 5. Pages (ページ) Atoms を組み合わせることで構成される 要素 複数のAtoms が組み合わさることにより目 的をもった具体的な要素になる 入力フォーム、テーブル
Atomic Design 1. Atoms (原子) 2. Molecules (分子) 3. Organisms
(生物) 4. Templates (テンプレート) 5. Pages (ページ) Atoms/Molecules/ 他のOrganisms を 組合わせて構成される要素 UIとしてセクションを形成する ヘッダー、フッター
Atomic Design 1. Atoms (原子) 2. Molecules (分子) 3. Organisms
(生物) 4. Templates (テンプレート) 5. Pages (ページ) コンポーネントのレイアウトする ページのコンテンツ構造を定義する
Atomic Design 1. Atoms (原子) 2. Molecules (分子) 3. Organisms
(生物) 4. Templates (テンプレート) 5. Pages (ページ) コンテンツの適用、最終的なUIを表示 コンポーネントに具体的なコンテンツ(画像、 テキスト、メディア)を入れ込む
Atomic Design 依存の方向 上位層 下位層
Atomic Design 依存の方向 上位層 下位層 詳細な分割基準はない なにをどの層に分類するか決 めるのはあなた
利点 • チーム内での共通概念 • 再利用性の高いコンポーネント • 階層構造でのコンポーネントの整理 • コンポーネントの責務を分けることができる
利点 • チーム内での共通概念 • 再利用性の高いコンポーネント • 階層構造でのコンポーネントの整理 • コンポーネントの責務を分けることができる 実際にやってみて感じた最大利点はこれ
レイヤードアーキテクチャ的な考え方 + コンポーネントの責務分離(単一責任の原則) 開発と保守がしやすい、テストも適用しやすい
まとめ
まとめ • Atomic Design いいぞ! • UIとはパーツ(コンポーネント)の集合体であるという 意識 • 厳格な設計原則ではないので、詳細はチームで作っ
ていくのが大切
前置き 明日からフロントもやって (またはやるしかない)
まとめ というチャンスが来たときに備えましょう