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
KMP / CMP 詳細解説 + ライブデモ(技育 CAMP アカデミア - KMP/CMP ...
Search
Ryo WATANABE
July 30, 2025
Technology
0
53
KMP / CMP 詳細解説 + ライブデモ(技育 CAMP アカデミア - KMP/CMP 勉強会)
Ryo WATANABE
July 30, 2025
Tweet
Share
More Decks by Ryo WATANABE
See All by Ryo WATANABE
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
2
2.2k
Compose Multiplatform 製アプリの OSS ライセンス表示
error96num
0
300
Edge-to-edge「強制」への対応
error96num
2
2.8k
Other Decks in Technology
See All in Technology
OTEPsで知るOpenTelemetryの未来 / Observability Conference Tokyo 2025
arthur1
0
260
プレイドのユニークな技術とインターンのリアル
plaidtech
PRO
1
370
[VPoE Global Summit] サービスレベル目標による信頼性への投資最適化
satos
0
250
SCONE - 動画配信の帯域を最適化する新プロトコル
kazuho
1
380
組織全員で向き合うAI Readyなデータ利活用
gappy50
1
640
会社を支える Pythonという言語戦略 ~なぜPythonを主要言語にしているのか?~
curekoshimizu
3
760
SOTA競争から人間を超える画像認識へ
shinya7y
0
550
RemoteFunctionを使ったコロケーション
mkazutaka
1
120
Dify on AWS 環境構築手順
yosse95ai
0
130
Observability — Extending Into Incident Response
nari_ex
1
440
プロダクト開発と社内データ活用での、BI×AIの現在地 / Data_Findy
sansan_randd
0
170
デザインとエンジニアリングの架け橋を目指す OPTiMのデザインシステム「nucleus」の軌跡と広げ方
optim
0
120
Featured
See All Featured
Optimizing for Happiness
mojombo
379
70k
Mobile First: as difficult as doing things right
swwweet
225
10k
RailsConf 2023
tenderlove
30
1.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
890
Gamification - CAS2011
davidbonilla
81
5.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.7k
The Cult of Friendly URLs
andyhume
79
6.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Building Applications with DynamoDB
mza
96
6.7k
Why Our Code Smells
bkeepers
PRO
340
57k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
Transcript
STORES 株式会社 2025年7月30日(水) 技育 CAMP アカデミア Kotlin Multiplatform / Compose
Multiplatform を活用した モバイルアプリ開発の最前線 KMP/CMP 詳細解説 + ライブデモ
• 渡邊 亮 / naberyo (@error96num) • STORES 株式会社 •
Android エンジニア • キッチンディスプレイ開発で KMP/CMP 活用! • 先週モロッコへ行ってきました 2 自己紹介 2
KMP/CMP開発に必要なもの Xcode JDK Android Studio + KMP Plugin 3
開発に必要なもの 4
プロジェクト作成 5
プロジェクト作成 6
プロジェクト作成 7
デモ1
Source sets androidMain : Android のアプリでしか使わないコード iosMain : iOS のアプリでしか使わないコード
commonMain : すべてのプラットフォームで共有されるコード 9
デモ2
宣言的UI - UIを「何をしたいか」で記述 11
宣言的UI - UIを「何をしたいか」で記述 12
宣言的UI - UIを「何をしたいか」で記述 13
宣言的UI - UIを「何をしたいか」で記述 14
デモ3
Source sets と expect/actual androidMain iosMain commonMain expect fun(プラットフォーム非依存のI/F) actual
fun actual fun Android 固有の API iOS 固有の API 16 実装 実装 参照 参照
Source sets と expect/actual - VideoPlayerの例 androidMain iosMain commonMain expect
fun VideoPlayer actual fun VideoPlayer actual fun VideoPlayer ExoPlayer AVPlayer 17 実装 実装 参照 参照
KMP/CMP を使えば プラットフォーム間でコードを共有しつつ expect / actual で柔軟に実装を切り分けられる 18
参考文献 • Kotlin Multiplatform quickstart | Kotlin Multiplatform Documentation •
Create your Compose Multiplatform app | Kotlin Multiplatform Documentation 19