Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
漸進的な変更を支えるフロントエンド設計
Search
jaxx2104
July 30, 2019
Programming
5
2.3k
漸進的な変更を支えるフロントエンド設計
Ginza.js#3
https://ginzajs.connpass.com/event/136794/
jaxx2104
July 30, 2019
Tweet
Share
More Decks by jaxx2104
See All by jaxx2104
Relative CI が気になっている話
jaxx2104
0
520
デザインファイルにおける継続的インテグレーション
jaxx2104
2
460
価値あるフロントエンドデザイン領域開拓
jaxx2104
0
430
Gatsby と Netlify で JAMstack なメディア開発
jaxx2104
0
770
サイレントヒーローを作らない取り組み
jaxx2104
1
190
開発組織のメンバーからリーダーになって
jaxx2104
0
130
Nikuman
jaxx2104
0
440
レガシーなフロントエンド環境で心理的安全性を確保する / RecoChoku Tech Night #08
jaxx2104
0
350
Vue.jsとLambdaの導入
jaxx2104
0
390
Other Decks in Programming
See All in Programming
知られているようで知られていない JavaScriptの仕様 4選
syumai
0
640
[堅牢.py #1] テストを書かない研究者に送る、最初にテストを書く実験コード入門 / Let's start your ML project by writing tests
shunk031
11
6.2k
React Native New Architecture 移行実践報告
taminif
1
120
Querying Design System デザインシステムの意思決定を支える構造検索
ikumatadokoro
1
1.2k
WebRTC と Rust と8K 60fps
tnoho
2
1k
社内オペレーション改善のためのTypeScript / TSKaigi Hokuriku 2025
dachi023
1
130
flutter_kaigi_2025.pdf
kyoheig3
2
390
Herb to ReActionView: A New Foundation for the View Layer @ San Francisco Ruby Conference 2025
marcoroth
0
210
Level up your Gemini CLI - D&D Style!
palladius
1
140
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
150
JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 / Learning Post-Quantum Crypto Basics from JEP 496 & 497
mackey0225
2
510
GeistFabrik and AI-augmented software development
adewale
PRO
0
220
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Designing Experiences People Love
moore
142
24k
A designer walks into a library…
pauljervisheath
210
24k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Typedesign – Prime Four
hannesfritz
42
2.9k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
11
950
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
690
What's in a price? How to price your products and services
michaelherold
246
12k
Fireside Chat
paigeccino
41
3.7k
Balancing Empowerment & Direction
lara
5
770
Transcript
漸進的な変更を支えるフロントエンド設計 漸進的な変更を支えるフロントエンド設計 Ginza.js #3 / Futoshi Iwashita
自己紹介 自己紹介 岩下 太 (@jaxx2104) 株式会社リクルート Front-end engineer
None
飲食業務支援アプリ レストランボード 飲食業務支援アプリ レストランボード
組織診断ツール Geppo 組織診断ツール Geppo
様々なプロダクトに関わってきて 様々なプロダクトに関わってきて
自分が感じるフロントエンドの変化 自分が感じるフロントエンドの変化 一度構築したWEBアプリケーションのフロントエンド アーキテクチャを運用する仕事が増えた。 UIだけでなくデザインモック・テストなど複数環境が より高く求められるようになってきた。 限られたリソース(人、時間、お金)のなかでエンハンス しながらどのようにアプリケーション更新するのかが課題。
みなさんはどうでしょうか みなさんはどうでしょうか
話すこと 話すこと 変化を予測・制御することについて 漸進的な変更を支える設計について 自分がやってみていること
変化を予測・制御するのって難しい 変化を予測・制御するのって難しい ビジネス要件から予期しないスケールの仕方をする 新たな機能ドメインが必要になる 開発体制が1年で10倍くらいに増える 時として設計を見誤ることもある
どうやって向き合っていくか どうやって向き合っていくか
None
Coupling between classes (the points on the perimeter) in a
Big Ball of Mud from an unnamed client project. https://www.thoughtworks.com/insights/blog/microservices- evolutionary-architecture
良さそうな内容をいくつか 良さそうな内容をいくつか 変化が目的通りなのか指標を設ける 再利用と疎結合を見極める 依存管理コストを解消する
自分がやってみていること 自分がやってみていること Vueで構築されたWEBアプリケーションの場合
変化が目的通りなのか指標を設ける 変化が目的通りなのか指標を設ける vue-cli の packages 単位での移行 @vue/babel-preset-app がオススメ 可能なら vue-cli
導入 https://github.com/vuejs/vue-cli/tree/dev/packages/@vue
指標があることのメリット 指標があることのメリット 拡張している差分がわかりやすい 可逆的な判断/対応もしやすい
再利用と疎結合を見極める 再利用と疎結合を見極める 自分で環境を作る場合に必要 粒度感は先程のような packages を 参考にモジュール化することが多い 疎結合のために重複を許容することも必要
こんな感じ こんな感じ package.json
依存管理コストを解消する 依存管理コストを解消する 依存モジュール更新を自動化する renovate や Greenkeeper を使う 疎結合による重複のコストを減らす
更新頻度に対する考え方 更新頻度に対する考え方 開発者のコードがライブラリを呼び出す ライブラリは必要になったら更新 フレームワークは開発者のコードを呼び出す フレームワークは積極的に依存を更新 https://martinfowler.com/bliki/InversionOfControl.html
renovate の場合 renovate の場合 renovate.json
まとめ まとめ 指標を設けることで拡張した差分がわかりやすい 再利用と疎結合を見極め、時には重複を許容する フレームワークは自動化で積極的に依存解消する
ここでは紹介しませんでしたが以下のトピックも 面白いので読んでない人はおすすめです。 テスト、CI、機能トグル 落とし穴やアンチパターン 組織構造とアーキテクチャ
ありがとうございました ありがとうございました