Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Kotlin Multiplatform
Search
Kevin Galligan
August 16, 2018
Technology
230
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Kotlin Multiplatform
Kotlin Multiplatform iOS development
Kevin Galligan
August 16, 2018
More Decks by Kevin Galligan
See All by Kevin Galligan
KotlinConf 2023: Kotlin Mobile Multiplatform for Teams
kpgalligan
4
630
SDK Design and Publishing For Kotlin Multiplatform Mobile
kpgalligan
2
550
KMP Binky Only
kpgalligan
1
260
Troubled Waters: Bridging platform-native SDKs with Kotlin Multiplatform
kpgalligan
3
360
KMM Kickstart For Android Developers
kpgalligan
2
300
Kotlin Multiplatform in Production
kpgalligan
4
500
Kotlin/Native Concurrency for Mobile Multiplatform
kpgalligan
2
760
Kotlin Native Concurrency Explained (Kotlinconf 2019)
kpgalligan
3
1.1k
Kotlin Multiplatform Intro
kpgalligan
2
10k
Other Decks in Technology
See All in Technology
演劇と私とスクラム
chinmo
0
160
Kiro Crewで「みのるん式」仕事術やってみた
minorun365
PRO
3
1.1k
構造で守らせる データ・法務・セキュリティ・開発チームとつくる AI時代のデータガバナンスとデータ基盤のリアル
legalontechnologies
PRO
1
520
渡米前の準備を制す!re:Invent 2026徹底準備術 / The Ultimate Preparation Guide for re:Invent 2026
yuj1osm
1
260
Obsidian Vault Architectures
x5gtrn
PRO
0
160
Steerable Visual Representations
sansantech
PRO
0
440
sue445's proposals 2026
sue445
0
150
Let's Change Our World—Again
snoozer05
PRO
6
680
E2Eってつらくないですか?E2Eの管理コストを下げる手段とその実践
akaboshinit
1
210
フィンテック養成勉強会#68
finengine
0
240
僕のハーネスを紹介します
watany
6
1.6k
DevelopersIO2026 -バックアップは“消されないこと”が9割-
yoshida0129
0
410
Featured
See All Featured
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
540
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
960
Leo the Paperboy
mayatellez
10
2.4k
Utilizing Notion as your number one productivity tool
mfonobong
4
620
Claude Code のすすめ
schroneko
67
230k
The Curious Case for Waylosing
cassininazir
1
580
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.5k
Odyssey Design
rkendrick25
PRO
2
890
Paper Plane (Part 1)
katiecoart
PRO
2
12k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
850
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
270
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
70
67k
Transcript
Kotlin Multiplatform
@allymcleangames
Hello
• Kevin Galligan, President of Touchlab • I’ve been coding
Android since before the G1, run a mobile dev shop, and since late 2015 have been largely focused on mobile code sharing • I’m going to tell you about Kotlin Multiplatform
None
Kotlin?
• Static “Better Java” by Jetbrains • 2011 - Announced
• 2016 - v1.0 • 2017 - Google++
None
JVM JS Native
JVM JS Native Common
None
Native
Native Not Native
Native Not Native - Me(h)tal Not Native - Rock
None
–Lemmy Kilmister “It’s Little Richard’s fault, all of it. Little
Richard is directly responsible for Motorhead.”
None
None
None
None
None
None
None
None
None
None
• Shared, testable architecture (not UI) • Smooth interop, optional
code sharing • Active community • Good tools • Bonus! One platform 100% native K O T L I N M U L T I P L A T F O R M
None
None
None
I Can’t See The Future
safe bets
None
None
None
JVM JS Native Common
JVM JS Native Common
JVM Native Common
JVM Native Common Android Stuff Framework iOS Stuff
Common
Common mainThread?
None
None
None
None
None
None
None
Typealias
None
None
Expected a method, was actually there!
None
None
None
None
None
None
None
None
None
Status
Kotlin/Native at .9
Tooling
Speed
Libraries
None
None
None
None
None
None
None
None
None
None
None
None
None
None
• 5 React Native • 3 Flutter • 4 Kotlin
Multiplatform • ~20% of the content! Cross Platform Droidcon
• Serialization • Ktor • I/O • Coroutines Jetbrains
Threads
State
all the code you’ve ever written not frozen frozen
all the code you’ve ever written not frozen frozen
Frozen is • A special runtime state • Like super-immutable
• Only way to share data between threads
Data OtherMutable OtherShared Stuff MoreStuff
Data OtherMutable OtherShared Stuff MoreStuff
None
None
None
None
None
None
None
It works!
Q3 Q2 Q4 Q1 Q2 2018 2019 0 .6 v0.7
v0.8 v0.8.2
Q3 Q2 Q4 Q1 Q2 2018 2019 0 .6 v0.7
v0.8 v0.8.2 v0.9 Coroutines (and other libs)
Q3 Q2 Q4 Q1 Q2 2018 2019 0 .6 v0.7
v0.8 v0.8.2 v0.9 Coroutines (and other libs)
Q3 Q2 Q4 Q1 Q2 2018 2019 0 .6 v0.7
v0.8 v0.8.2 v0.9 Coroutines (and other libs)
Q3 Q2 Q4 Q1 Q2 2018 2019 0 .6 v0.7
v0.8 v0.8.2 v0.9 Coroutines (and other libs) v1
Q3 Q2 Q4 Q1 Q2 2018 2019 0 .6 v0.7
v0.8 v0.8.2 v0.9 Coroutines (and other libs) v1 Major reactive lib Date/other libs Improved tooling Faster builds
Q3 Q2 Q4 Q1 Q2 2018 2019 0 .6 v0.7
v0.8 v0.8.2 v0.9 Coroutines (and other libs) v1 Major reactive lib Date/other libs Improved tooling Faster builds “Mainstream” Big apps Wasm threads
2010 ORMLite ActiveAndroid
2010 ORMLite ActiveAndroid :P
2010 ORMLite ActiveAndroid :P 2018 ORMLite SQLBright SQLDelight Storeio Room
Cupboard SugarORM GreenDAO DBFlow Squeeky Ollie Requery Squidb
2018 Knarch.db SQLDelight 2025? MPSettings Jetbrains stuff
None
[email protected]
@kpgalligan
[email protected]
@kpgalligan Discount code: AndroidSummit