Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
漸進的な変更を支えるフロントエンド設計
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
jaxx2104
July 30, 2019
Programming
2.4k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
漸進的な変更を支えるフロントエンド設計
Ginza.js#3
https://ginzajs.connpass.com/event/136794/
jaxx2104
July 30, 2019
More Decks by jaxx2104
See All by jaxx2104
freeeにおけるファンクションを超えた一気通貫でのAI活用
jaxx2104
3
1.8k
Relative CI が気になっている話
jaxx2104
0
570
デザインファイルにおける継続的インテグレーション
jaxx2104
2
540
価値あるフロントエンドデザイン領域開拓
jaxx2104
0
490
Gatsby と Netlify で JAMstack なメディア開発
jaxx2104
0
830
サイレントヒーローを作らない取り組み
jaxx2104
1
230
開発組織のメンバーからリーダーになって
jaxx2104
0
160
Nikuman
jaxx2104
0
500
レガシーなフロントエンド環境で心理的安全性を確保する / RecoChoku Tech Night #08
jaxx2104
0
390
Other Decks in Programming
See All in Programming
Swift愛好会と私(ウホーイ) / Swift Fan Club and Uhooi
uhooi
0
150
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
120
Building an Out-of-Order CPU
latte72
1
740
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
310
業務時間外もAIに働いてもらう話
colorful12
3
10k
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
230
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
430
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
260
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
130
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
130
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
140
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
190
Featured
See All Featured
The Curse of the Amulet
leimatthew05
2
14k
Why Our Code Smells
bkeepers
PRO
340
58k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
240
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
320
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
520
The browser strikes back
jonoalderson
0
1.7k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
320
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
520
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
430
Crafting Experiences
bethany
1
310
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.6k
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、機能トグル 落とし穴やアンチパターン 組織構造とアーキテクチャ
ありがとうございました ありがとうございました