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
74
KMP / CMP 詳細解説 + ライブデモ(技育 CAMP アカデミア - KMP/CMP 勉強会)
Ryo WATANABE
July 30, 2025
Tweet
Share
More Decks by Ryo WATANABE
See All by Ryo WATANABE
スクリプトの先へ!AIエージェントと組み合わせる モバイルE2Eテスト
error96num
0
200
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
2
3k
Compose Multiplatform 製アプリの OSS ライセンス表示
error96num
0
430
Edge-to-edge「強制」への対応
error96num
2
3.1k
Other Decks in Technology
See All in Technology
Cursor Subagentsはいいぞ
yug1224
2
100
韓非子に学ぶAI活用術
tomfook
3
1k
スピンアウト講座03_CLAUDE-MDとSKILL-MD
overflowinc
0
1.4k
Phase02_AI座学_応用
overflowinc
0
3.1k
Sansanの認証基盤を支えるアーキテクチャとその振り返り
sansantech
PRO
1
110
非同期・イベント駆動処理の分散トレーシングの繋げ方
ichikawaken
1
150
PostgreSQL 18のNOT ENFORCEDな制約とDEFERRABLEの関係
yahonda
0
130
AI時代のIssue駆動開発のススメ
moongift
PRO
0
270
MCPで決済に楽にする
mu7889yoon
0
130
DDD×仕様駆動で回す高品質開発のプロセス設計
littlehands
6
2.5k
タスク管理も1on1も、もう「管理」じゃない - KiroとBedrock AgentCoreで変わった“判断の仕事”
yusukeshimizu
0
110
昔話で振り返るAWSの歩み ~S3誕生から20年、クラウドはどう進化したのか~
nrinetcom
PRO
0
100
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Tell your own story through comics
letsgokoyo
1
870
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
400
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
440
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
340
Building Applications with DynamoDB
mza
96
7k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
790
Claude Code のすすめ
schroneko
67
220k
Docker and Python
trallard
47
3.8k
Thoughts on Productivity
jonyablonski
75
5.1k
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