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
フロントエンドの設計で大事なこと
Search
Daichi Sunagawa
November 16, 2023
Programming
0
49
フロントエンドの設計で大事なこと
Daichi Sunagawa
November 16, 2023
Tweet
Share
More Decks by Daichi Sunagawa
See All by Daichi Sunagawa
10分でわかるNext.js14
sngw0113
0
120
React と Next.js について
sngw0113
0
43
フロント開発でよく使われるライブラリの紹介
sngw0113
0
28
モダンJavaScript入門
sngw0113
0
31
【React入門】絶対に躓かない Reactワークショップ #3
sngw0113
0
18
【React入門】絶対に躓かない Reactワークショップ #2
sngw0113
0
29
【React入門】絶対に躓かない Reactワークショップ #1.pdf
sngw0113
0
130
Other Decks in Programming
See All in Programming
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
9
1k
これならできる!個人開発のすゝめ
tinykitten
PRO
0
140
CSC307 Lecture 02
javiergs
PRO
1
740
AI Agent Dojo #4: watsonx Orchestrate ADK体験
oniak3ibm
PRO
0
120
The Art of Re-Architecture - Droidcon India 2025
siddroid
0
150
[AI Engineering Summit Tokyo 2025] LLMは計画業務のゲームチェンジャーか? 最適化業務における活⽤の可能性と限界
terryu16
2
210
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
1
210
CSC307 Lecture 03
javiergs
PRO
1
460
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
3.3k
Combinatorial Interview Problems with Backtracking Solutions - From Imperative Procedural Programming to Declarative Functional Programming - Part 2
philipschwarz
PRO
0
130
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.5k
Navigating Dependency Injection with Metro
l2hyunwoo
1
200
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
304
21k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
GitHub's CSS Performance
jonrohan
1032
470k
Scaling GitHub
holman
464
140k
Navigating Team Friction
lara
191
16k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Music & Morning Musume
bryan
46
7k
The Limits of Empathy - UXLibs8
cassininazir
1
200
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
100
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
115
100k
Transcript
砂川 大地 フロントエンドの 設計で大事なこと フロント勉強会
D S 設計にあたって重要な考え方1 関心の分離 UIとビジネスロジック 「商品一覧」と「商品を取得する処理」 Amazun
D S 設計にあたって重要な考え方1 関心の分離 UIとビジネスロジック 「商品一覧」と「商品を取得する処理」 Amazun
D S 設計にあたって重要な考え方1 関心の分離 UIとビジネスロジック 「商品一覧」と「商品を取得する処理」 Amazun 見た目と振る舞い 「ユーザーアイコン」と「メニュー表示」
D S 設計にあたって重要な考え方1 関心の分離 UIとビジネスロジック 「商品一覧」と「商品を取得する処理」 Amazun 見た目と振る舞い 「ユーザーアイコン」と「メニュー表示」
UIとビジネスロジックの分離 Before After 商品一覧の例 DS Amazun
見た目と振る舞いの分離 Before After アカウントメニューの例 D S プロフィール変更 メールアドレス変更 ログアウト
設計にあたって重要な考え方2 依存の方向性 関心を分離したとはいえ、どこかでそれらを接続する必要がある 依存関係をシンプルに保つ必要がある
設計にあたって重要な考え方2 依存の方向性 関心を分離したとはいえ、どこかでそれらを接続する必要がある 依存関係をシンプルに保つ必要がある レイヤードアーキテクチャ
アトミックデザイン
アトミックデザイン Molecules は Atoms に依存してもよいが、Organisms には依存しない
設計にあたって重要な考え方2 悪い例 `AccountMenu`コンポーネントに合わせて、 `handleMenuOpen`というpropsを用意する D S
Container/Presentationalパターン Container データがユーザーにどのように表示されるかを管 理するコンポーネント。 Presentational 何のデータがユーザーに表示されるかを管理する コンポーネント。
Container/Presentational パターン 「犬のデータ」を「ギャラリーで表示する」
Container/Presentational パターン Container層 Presentational層 バックエンド Container層だけがバックエンドに依存する 例)PagesコンポーネントをContainer層とし、 データの取得はPagesコンポーネントでのみ行う
他にも気になる方はこちらがおすすめです