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
設計を取り入れてKMPの理解を 改善した話
Search
Hikaru Nagao
November 27, 2025
0
10
設計を取り入れて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
180
AI駆動 Jetpack Compose 移行戦略
hikaru44
0
190
入社直後から活躍するためにやった3つのこと
hikaru44
0
100
Featured
See All Featured
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
120
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
440
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
YesSQL, Process and Tooling at Scale
rocio
174
15k
The Limits of Empathy - UXLibs8
cassininazir
1
220
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
160
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
830
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
430
Believing is Seeing
oripsolob
1
59
The agentic SEO stack - context over prompts
schlessera
0
650
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
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