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
iOSDC2025_ソニーのKMP/CMP挑戦記
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ソニー株式会社
September 19, 2025
1
1.2k
iOSDC2025_ソニーのKMP/CMP挑戦記
ソニー株式会社
September 19, 2025
Tweet
Share
More Decks by ソニー株式会社
See All by ソニー株式会社
ソニー Creators' Cloudチームのハッカソン~生成AIで加速するイノベーション~
sony
0
89
Connpass-Xperia_Camera_App_by_HCD.pdf
sony
0
490
GitHub を組織的に使いこなすために ソニーが実践した全社展開のプラクティス
sony
27
18k
マイクロリブート ~ACEマインドセットで実現するアジャイル~
sony
1
700
ソニーの遊びのUXデザイン_アクセスコントローラー
sony
0
68
ソニーの遊びのUXデザイン_aiboとオーナーのインタラクション
sony
0
150
ソニーの遊びのUXデザイン_ソニーのUXデザインについて
sony
0
100
東京大学「Agile-X」のFPGA AIデザインハッカソンを制したソニーのAI最適化
sony
0
400
三菱電機・ソニーグループ共同の「Agile Japan企業内サテライト」_2025
sony
1
1.1k
Featured
See All Featured
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
940
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
220
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
250
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7k
Writing Fast Ruby
sferik
630
62k
Typedesign – Prime Four
hannesfritz
42
2.9k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
130
The Spectacular Lies of Maps
axbom
PRO
1
520
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Transcript
@sergiocarrilho Sergio Carrilho ソニーのKMP/CMP挑戦記 Sony’s Story with KMP/CMP TechLead |
Sony
iOSエンジニアの可能性を広げる ソニーがKotlin/Compose Multiplatformに挑戦した理由 (あなたもぜひ)
iOSエンジニアの可能性を広げる ソニーがKotlin/Compose Multiplatformに挑戦した理由 (あなたもぜひ????)
01 Why KMP/CMP 02 How we did it? 03 Should
you do it?
None
2018
>>Next project...
UI UI Biz Logic Biz Logic Until now
UI UI Goal Biz Logic
Sensing trigger Context Action data
Requirement 1.iOS & Android 2.High performance 3.Platform APIs (BLE, GPS,
BG...)
Why
UI UI Business/Domain Data/Core iOS APIs Android APIs iOS Android
KMP (shared)
Native UIs Bytecode LLVM Kotlin Multiplatform JVM Kotlin/Native
Bytecode LLVM Kotlin Multiplatform JVM Kotlin/Native iOS framework
expect fun / class actual fun / class actual fun
/ class Common
expect fun randomUUID(): String import java.util.* actual fun randomUUID() =
UUID.randomUUID().toString() import platform.Foundation.NSUUID actual fun randomUUID(): String = NSUUID().UUIDString() Common
HOW Part 2
Hexagonal Architecture
None
Core: Biz logic, platform agnostic
Core: Biz logic, platform agnostic Platform: iOS/Android
Platform: iOS/Android Core: Biz logic, platform agnostic External / cloud:
Sensor, biz intelligence
Platform: iOS/Android Core: Biz logic, platform agnostic Adapters External /
cloud: Sensor, biz intelligence
2021 2023
2023
2023 Sony | Headphones Connect Sony | Sound Connect
Compose Multiplatform
UI UI Business/Domain Data/Core Presentation Presentation iOS Android KMP(shared) Kotlin
Multiplatform
iOS specific Android specific Business/Domain Data/Core iOS Android KMP(shared) Compose
Multiplatform UI Presentation
None
None
iOS Android
None
Maps
None
Results
55 55% % iOS iOS users P E R P
L AT FO R M
Code L A N G U AG E D I
ST. 80 20 Multiplatform Native
SHOULD YOU DO IT? Part 3
it depends...
Stick to iOS if... You want full iOS UX Target
market is iOS
Try KMP/CMP if... iOS Dev → Mobile Dev Expand to
other platforms A lot of common biz logic (>10%)
start
None
None
Kotlin/Swift Mapping Kotlin Swift Class Class Interface Protocol Constructor Initializer
Property Property Method Method null nil Kotlin Swift Unit Void String String List Array Set Set Map Dictionary Function type Function type
suspend vs async
None
iOS/Android dev Development Duplication Unification Mobile dev Users
TRY IT just
None