Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
© 2025 Wantedly, Inc.
Slide 2
Slide 2 text
© 2025 Wantedly, Inc. WantedlyでのKotlin Multiplatformの導入と課題 Kotlin Multiplatform Night 2025/01/15 久保出雅俊
Slide 3
Slide 3 text
© 2025 Wantedly, Inc. wantedly.com/id/kubode @swiz_ard @kubode
Slide 4
Slide 4 text
© 2025 Wantedly, Inc. Agenda 弊社のKMP導入事例を紹介 ● 導入した背景 ● 導入により得られた成果 ● 導入プロセス ● 導入後の課題 🙅 KMP自体の紹介、導入時の技術的課題
Slide 5
Slide 5 text
© 2025 Wantedly, Inc. 導入した背景
Slide 6
Slide 6 text
© 2025 Wantedly, Inc. 導入したプロダクトの紹介 https://speakerdeck.com/wantedly/for-engineers
Slide 7
Slide 7 text
© 2025 Wantedly, Inc. 大きく2つの課題 ● React Nativeの技術負債化 ○ メンテナー不在 ○ アップデートが困難に ● iOSとAndroidでの動作の不一致 ○ 詳細仕様や設計書がない ○ キャッシュ構造 ○ エラー時の挙動 導入背景 https://www.wantedly.com/companies/wantedly/post_articles/282562
Slide 8
Slide 8 text
© 2025 Wantedly, Inc. Native UI アーキテクチャ Kotlin Multiplatform Reactor Action State UseCase GraphQL RestAPI DB Backend
Slide 9
Slide 9 text
© 2025 Wantedly, Inc. 導入により得られた成果
Slide 10
Slide 10 text
© 2025 Wantedly, Inc. 課題の解決 ● React Nativeを取り除き、技術負債を返済 ○ モバイルチームの所有物が減りメンテナンス性が向上 ● 動作の不一致の改善
Slide 11
Slide 11 text
© 2025 Wantedly, Inc. 設計プロセスの改善
Slide 12
Slide 12 text
© 2025 Wantedly, Inc. KMP/iOS/Android並列実装 ● KMP側はロジックの内部実装を進める ● UI側は設計されたStateをもとにPreview駆動開発 KMP インターフェー ス 設計・実装 KMP 内部実装 iOS UI実装 Android UI実装 画面仕様 QA リリース 結合
Slide 13
Slide 13 text
© 2025 Wantedly, Inc. 導入プロセス
Slide 14
Slide 14 text
© 2025 Wantedly, Inc. チームへの共有やヒアリング ● 課題感をチームへ共有、認識を合わせる ● 導入検討方針を伝え、懸念や不安を個別にヒアリング ○ React Nativeと変わらないのでは? ○ iOSエンジニアのKotlinの学習コスト ○ 退行プランはどうするのか
Slide 15
Slide 15 text
© 2025 Wantedly, Inc. 検証フェーズ ● 小さく検証し懸念や不安を払拭 ● PoCだけでなくプロダクションコードでの実証
Slide 16
Slide 16 text
© 2025 Wantedly, Inc. 説明責任を果たす KMPはチームのあり方を変える技術 👉 ステークホルダーとの合意形成が必須 ○ なぜ導入したいのか、長期視点での利点やリスクを説明 ○ 導入検討を伝えることで、欠如した観点を得られる ○ 合意後も状況共有しつつ導入を進める
Slide 17
Slide 17 text
© 2025 Wantedly, Inc. 導入後の課題
Slide 18
Slide 18 text
© 2025 Wantedly, Inc. 定期的な振り返りの実施 検証しても課題はつきもの ● 導入後に定期的に振り返りを実施、継 続的に改善 ● 導入して終わりにしない
Slide 19
Slide 19 text
© 2025 Wantedly, Inc. チームに根付かせる 属人化させず、チームにKMPを根付かせる ● ドキュメント化 ● ペアプロやモブプロの実践
Slide 20
Slide 20 text
© 2025 Wantedly, Inc. まとめ
Slide 21
Slide 21 text
© 2025 Wantedly, Inc. まとめ 弊社のKMP導入事例を紹介 ● 弊社にとってKMPは、課題解決にマッチした良い技術 ● 乗り越えるハードルはあるが、それに見合う利点がある ● 先にプロセスの課題を改善すべきだった ○ 動作の不一致の課題解決や設計改善は、別の手法でも可能 ○ KMP導入によるリスクの漏れや過小評価 ○ KMPによってプロセスを改善するのではなく、プロセス改善が先