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
560
KMP Binky Only
kpgalligan
1
270
Troubled Waters: Bridging platform-native SDKs with Kotlin Multiplatform
kpgalligan
3
370
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
[re:Invent2026事前勉強会(有志開催)]続きは、ラスベガスの廊下で / continue-in-the-vegas-hallway
sh_fk2
0
500
Copilot Coworkで「みのるん式」やってみた
minorun365
PRO
2
1.4k
AIで選択肢が広がった組織設計の理想と現実
konifar
16
7.6k
Don't write the architecture only in the prompt.
neohsu
0
310
Software Engineering in an AI-Driven World
erikjhordan_rey
0
110
You Have Agency(サンキュー、Ruby)
snoozer05
PRO
5
670
あなたのDartコードは丸見えかもしれない ~reFlutterで暴くFlutterアプリの中身と多層防御~
zozotech
PRO
0
770
Lint の層を組み直した話
bengo4com
2
300
[FECONF-2026] 신대륙을 향한 카카오페이증권 프론트엔드 항해기 (이주승)
l1ghthouse
0
380
なぜ東京にいる私が、新潟の技術コミュニティを運営するのか by 八雲慎之助
yakumo
0
220
Jev の中身は50行で再現できる。でも本物との差はどこにあるのか
hisuzuya
0
290
渡米前の準備を制す!re:Invent 2026徹底準備術 / The Ultimate Preparation Guide for re:Invent 2026
yuj1osm
1
530
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
225
10k
My Coaching Mixtape
mlcsv
0
380
Crafting Experiences
bethany
1
420
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
59k
Scaling GitHub
holman
464
140k
Making the Leap to Tech Lead
cromwellryan
135
10k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
3k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
570
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