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によってプロセスを改善するのではなく、プロセス改善が先