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
Kotlin Multi-platform(?)
Search
Panini
June 27, 2018
Technology
1
730
Kotlin Multi-platform(?)
Panini
June 27, 2018
Tweet
Share
More Decks by Panini
See All by Panini
Kotlin 1.5 preview
panini
1
450
Java谷園から逃げ出した話
panini
0
380
Kotlin 1.4-rc
panini
0
230
Fixing Broken Robots - Android Mutation Testing
panini
0
190
Kotlin Multiplatform
panini
2
650
build.gradle.kts
panini
2
2.4k
Convert Java file to Kotlin file ⌥⇧⌘K
panini
0
1.1k
Introducing Android P
panini
2
830
Display Cutout
panini
1
640
Other Decks in Technology
See All in Technology
いま注目のAIエージェントを作ってみよう
supermarimobros
0
290
【NoMapsTECH 2025】AI Edge Computing Workshop
akit37
0
180
Android Audio: Beyond Winning On It
atsushieno
0
850
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
200
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
2
570
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
570
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
150
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
930
Agile PBL at New Grads Trainings
kawaguti
PRO
1
430
20250913_JAWS_sysad_kobe
takuyay0ne
2
220
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
430
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
430
Featured
See All Featured
Code Review Best Practice
trishagee
70
19k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
840
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Scaling GitHub
holman
463
140k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
GraphQLとの向き合い方2022年版
quramy
49
14k
Why Our Code Smells
bkeepers
PRO
339
57k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Transcript
Multiplatform Kotlin(?) Kotlin Developers Meetup
About Me • Matthew Vern / Panini • Twitter: @callipan
Github: panpanini • Mercari, Inc • Android Engineer (US) •
[email protected]
About Me • Matthew Vern / Panini • Twitter: @callipan
Github: panpanini • Mercari, Inc • Android Engineer (US) •
[email protected]
• React Native Engineer??
React Native • Build native mobile apps using JavaScript and
React • “Write Once, Run Anywhere” • Works both on Android & iOS • Hot reload • Interfaces with native Kotlin/Swift code
React Native @ Mercari US • Used in Profile &
Chat screens • Great for simple screens • Easy feature parity between platforms • But...
I wanna write Kotlin
Kotlin.js • Transpiles Kotlin to JavaScript • Kotlin-react https://github.com/JetBrains/create-react-kotlin-app •
• Kotlin-React-Native?
Kotlin React Native • Create Kotlin JS project inside ReactNative
project • Link React Native JS to Kotlin JS output
Kotlin React Native • Create wrapper for React Native JS
• @JsModule • external
Kotlin React Native • React has a lot of ceremony
to create components • Abstract as much away with DSL • Makes UI code much cleaner
Kotlin React Native • React has a lot of ceremony
to create components • Abstract as much away with DSL • Makes UI code much cleaner
Hot Reload • “Keep the app running and to inject
new versions of the files that you edited at runtime” • Kotlin has to be compiled though...
Gradle Continuous Build https://blog.gradle.org/introducing-continuous- build • “As of 2.5, Gradle
supports continuous build execution, which will automatically re-execute builds when changes are detected to its inputs.” • Anytime a file is changed, gradle will rerun the task • Hot reload!
Summary • We can write React Native in Kotlin! •
Supports Hot Reloading • Kotlin DSL makes building UI easy • Can run same code on Android & iOS
Summary • The Kotlin we write is 90% JavaScript.. •
dynamic • Lots of boilerplate code • Very little documentation • Lets just use Kotlin multiplatform instead