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
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
980
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Faster Mobile Websites
deanohume
310
31k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
66
Tell your own story through comics
letsgokoyo
0
760
End of SEO as We Know It (SMX Advanced Version)
ipullrank
2
3.8k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
74
4 Signs Your Business is Dying
shpigford
186
22k
Accessibility Awareness
sabderemane
0
24
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
61
40k
A Tale of Four Properties
chriscoyier
162
23k
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