Slide 1

Slide 1 text

© 2025 Wantedly, Inc. Wantedly Visit での SKIE の導入と振り返り Jul. 29 2025 - Hayashi Tatsuya Mobile勉強会 Wantedly × チームラボ × Sansan #18

Slide 2

Slide 2 text

© 2025 Wantedly, Inc. 自己紹介 林達也 モバイルエンジニア @ ウォンテッドリー株式会社 github swiftty x _swiftty wantedly tatsuya_hayashi_ar 性格診断 - ハーモナイザー

Slide 3

Slide 3 text

© 2025 Wantedly, Inc. 本⽇のトピック 話すこと ● SKIE の概要 ● 導入背景 ● 導入・振り返り 話さないこと ● SKIE の具体的な説明・導入方法

Slide 4

Slide 4 text

© 2025 Wantedly, Inc. SKIE とは

Slide 5

Slide 5 text

© 2025 Wantedly, Inc. SKIE とは Touchlab が OSS として公開している Swift での呼び出しをより便利に扱える ようになる KMP プラグイン ※いくつかの機能が提供されていますが、ここで は主に Enum について取り上げます https://skie.touchlab.co/

Slide 6

Slide 6 text

© 2025 Wantedly, Inc. 導入背景

Slide 7

Slide 7 text

© 2025 Wantedly, Inc. 導⼊背景 状態のモデリングに sealed class を活用している

Slide 8

Slide 8 text

© 2025 Wantedly, Inc. 導⼊背景 状態のモデリングに sealed class を活用している

Slide 9

Slide 9 text

© 2025 Wantedly, Inc. 導⼊背景 状態のモデリングに sealed class を活用している → Swift 側で Enum を再定義していた

Slide 10

Slide 10 text

© 2025 Wantedly, Inc. 導⼊背景 ウォンテッドリーではモバイルエンジニアが毎週集まり、 モバイル関連の知見を持ち寄ってワイワイする会がある ● SKIE 登場当時、それを試してみようとなった 導⼊⾃体は plugin の設定を⼀⾏追加だけ Swift ファイルが中間ビルドで⽣成されている 👀 やっぱりその分ビルドが伸びていそう

Slide 11

Slide 11 text

© 2025 Wantedly, Inc. 導⼊背景 ウォンテッドリーではモバイルエンジニアが毎週集まり、 モバイル関連の知見を持ち寄ってワイワイする会がある ● SKIE 登場当時、それを試してみようとなった 導⼊⾃体は plugin の設定を⼀⾏追加だけ Swift ファイルが中間ビルドで⽣成されている 👀 やっぱりその分ビルドが伸びていそう → 当時 Kotlin 2.0 が控えていたため、そ れと SKIE の安定性など様子を見て 導入を進めることにした

Slide 12

Slide 12 text

© 2025 Wantedly, Inc. 導入

Slide 13

Slide 13 text

© 2025 Wantedly, Inc. 導⼊ ● iOS 18, Xcode 16 の対応が一段落し、 Kotlin 2.0 でも SKIE 導入に問題ないと判断し実施 ● 導入自体は大きな問題なく行えた ○ KMP 側: 先ほどのプラグイン設定のみ ○ iOS 側: sealed class が class → enum に定義が変わった影響によるコ ンパイルエラーを調整 ■ import class.KMPEnum など class が明示されていた箇所 ■ 不要になった default の警告

Slide 14

Slide 14 text

© 2025 Wantedly, Inc. 振り返り

Slide 15

Slide 15 text

© 2025 Wantedly, Inc. 振り返り ● ビルド時間の変化(参考情報) ○ ローカルマシンでのフルビルド(5回の平均) ■ 423.4秒→444.0秒 +20.6秒(+4.87%) ○ SKIE 0.7.0 でビルドパフォーマンスが改善 ■ それ以前では +123.4秒 の増加 → KMP 側のフレームワークはビルド済みのバイナリを利用 するフローのためクリティカルな問題ではなかった

Slide 16

Slide 16 text

© 2025 Wantedly, Inc. 振り返り ● iOS メンバーの感想 ○ 「今までラッパーを手動で用意していたので、その分の手 間が減って楽になった」 ○ 「機械的な生成になったのでヒューマンエラーの起こる可 能性が減った」 →総じて「導入してよかった」という声

Slide 17

Slide 17 text

© 2025 Wantedly, Inc. おわりに ● すでに Kotlin Multiplatform で運用しているプロダクトに 対しての SKIE 導入事例を紹介 ● 適用範囲を広げ、継続的に振り返りたい

Slide 18

Slide 18 text

© 2025 Wantedly, Inc. ご清聴ありがとうございました