Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
設計を取り入れてKMPの理解を 改善した話
Search
Hikaru Nagao
November 27, 2025
0
6
設計を取り入れてKMPの理解を 改善した話
Hikaru Nagao
November 27, 2025
Tweet
Share
More Decks by Hikaru Nagao
See All by Hikaru Nagao
AI駆動 Jetpack Compose 移行戦略 YUMEMI.grow Mobile
hikaru44
1
170
AI駆動 Jetpack Compose 移行戦略
hikaru44
0
180
入社直後から活躍するためにやった3つのこと
hikaru44
0
87
Featured
See All Featured
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
92
Between Models and Reality
mayunak
0
150
Side Projects
sachag
455
43k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
29
Abbi's Birthday
coloredviolet
0
3.8k
Accessibility Awareness
sabderemane
0
24
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.2k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
75
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Transcript
© 2025 Wantedly, Inc. 設計を取り入れてKMPの理解を 改善した話 KMP Ops Night -
KMP導⼊後に訪れる、本当の戦いとは - November.11 2025 - 長尾 光
© 2025 Wantedly, Inc. 自己紹介 @hikaengineer 長尾 光 hikaru nagao
hikaru_nagao_i Nagao-hikaru Mobile Growth Squad, Wantedly, Inc. Joined in April 2025
© 2025 Wantedly, Inc. 本日伝えたい話 / 背景 / 対象者 🚀
伝えたい話 • KMP開発を Androidエンジニア だけでなく iOSエンジニアも取り組めるようにした設計方法を紹介 🎯 対象者 • KMPを導入している、または導入を検討している方 • チーム内でKMPの理解・担当に偏りを感じている方 💡 背景 • KMP導入チームではiOSエンジニアの学習コストが高く Android メンバーに負荷が偏りやすい → その課題をチームで改善したアプローチを紹介
© 2025 Wantedly, Inc. 目次 01 弊社が抱えていたKMPの課題 02 課題に対しての取り組み 03
まとめ
© 2025 Wantedly, Inc. 目次 01 弊社が抱えていたKMPの課題 02 課題に対しての取り組み 03
まとめ
© 2025 Wantedly, Inc. 弊社が抱えていたKMPの課題 弊社モバイルメンバーから出た一部の意見
© 2025 Wantedly, Inc. 弊社が抱えていたKMPの課題 • Kotlinのキャッチアップ • Stateがどのようにして変更されたか分 からない
• Flowが良く分からない ⚠ iOSエンジニアの学習コスト • Androidエンジニアの⽅がKMPの対応 が早い ◦ kotlinのコードに読み慣れている • AndroidのUI実装が遅れてしまう ⚠ AndroidエンジニアがKMP対応しがち
© 2025 Wantedly, Inc. iOSエンジニアの学習コスト ⚠Stateがどのようにして変更されたか分からない Visit iOSアプリのアーキテクチャ Reactor •
独自の単方向データフローアーキテクチャ • ViewModelのようなもの データフロー Kotlin Multiplatform
© 2025 Wantedly, Inc. iOSエンジニアの学習コスト ⚠Stateがどのようにして変更されたか分からない Visit iOSアプリのアーキテクチャ • 独自の単方向データフローアーキテクチャ
• ViewModelのようなもの データフロー Kotlin Multiplatform mutate() ~ reduce()まで処理を追うことが難しく、 最終的にStateがどう変化するか分かりづらい。。 Reactor
© 2025 Wantedly, Inc. AndroidエンジニアがKMP対応しがち AndroidのUI実装が遅れてしまう 専 ⾨ 性 Android
iOS Kubode Nagao Minato Park Harada Kuronuma
© 2025 Wantedly, Inc. AndroidエンジニアがKMP対応しがち AndroidのUI実装が遅れてしまう KMP実装 Android UI実装 iOS
UI実装
© 2025 Wantedly, Inc. AndroidエンジニアがKMP対応しがち AndroidのUI実装が遅れてしまう KMP実装 Android UI実装 iOS
UI実装 iOS側のUI実装が先行して進みすぎてしま い、Andorid側のUI実装が遅れる
© 2025 Wantedly, Inc. • ⚠ Stateがどのようにして変更されたか分からない ◦ チーム全員が処理の流れを 見える化できる仕組み
が必要 • ⚠ AndroidエンジニアがKMP対応しがち ◦ 役割に依存せず理解できる共通の設計が必要 • 上記の事から「KMPの設計」が必要 弊社が抱えていたKMPの課題 📝 課題を改善するために必要な仕組み
© 2025 Wantedly, Inc. 目次 01 弊社が抱えていたKMPの課題 02 課題に対しての取り組み 03
まとめ
© 2025 Wantedly, Inc. • 既存画面の修正 or 追加の場合、元々定義されている StateのAsIsを出す ◦
AsIsを出すことでKMPのキャッチアップがスムーズになる • その上でStateに追加するプロパティを明記する 課題に対しての取り組み 🚀 取り組み_1:Stateの内容がわかる設計書を作る
© 2025 Wantedly, Inc. 取り組み_1:Stateの内容がわかる設計書を作る 元々定義されているStateのAsIsを出す
© 2025 Wantedly, Inc. 取り組み_1:Stateの内容がわかる設計書を作る Stateに追加するプロパティを明記する
© 2025 Wantedly, Inc. 課題に対しての取り組み 🚀 取り組み_2:複雑な処理はフローチャートを作る
© 2025 Wantedly, Inc. • ⚠ Stateがどのようにして変更されたか分からない ◦ ✅ Stateで定義されているプロパティの役割とフローが可視化された事で、キャッチアップ
が簡易になる • ⚠ AndroidエンジニアがKMP対応しがち ◦ ✅ 設計書がある事で、 iOSエンジニアでも対応しやすくなった 課題に対しての取り組み 🚀 取り組みの結果
© 2025 Wantedly, Inc. AndroidエンジニアがKMP対応しがち ✅ AndroidのUI実装が遅れてしまう KMP実装 Android UI実装
iOS UI実装
© 2025 Wantedly, Inc. • KMPはロジックを共有できても、理解の共有はできない • 設計を取り入れて構造を見える化することで、チーム全体で理解をそろえられた • 属人的だったKMP対応が、チームで支え合う開発体制に変化した
• 技術よりも、理解を共有する仕組みがチームの力になる 📝 まとめ
© 2025 Wantedly, Inc. ご清聴ありがとうございました!! @hikaengineer hikaru_nagao_i Nagao-hikaru