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
750
Kotlin Multi-platform(?)
Panini
June 27, 2018
Tweet
Share
More Decks by Panini
See All by Panini
Kotlin 1.5 preview
panini
1
460
Java谷園から逃げ出した話
panini
0
390
Kotlin 1.4-rc
panini
0
240
Fixing Broken Robots - Android Mutation Testing
panini
0
200
Kotlin Multiplatform
panini
2
670
build.gradle.kts
panini
2
2.4k
Convert Java file to Kotlin file ⌥⇧⌘K
panini
0
1.1k
Introducing Android P
panini
2
850
Display Cutout
panini
1
660
Other Decks in Technology
See All in Technology
みんなでAI上手ピーポーになろう! / Let’s All Get AI-Savvy!
kaminashi
0
140
「アウトプット脳からユーザー価値脳へ」がそんなに簡単にできたら苦労しない #RSGT2026
aki_iinuma
11
5.4k
習慣とAIと環境 — 技術探求を続ける3つの鍵
azukiazusa1
2
340
Java 25に至る道
skrb
3
220
RALGO : AIを組織に組み込む方法 -アルゴリズム中心組織設計- #RSGT2026 / RALGO: How to Integrate AI into an Organization – Algorithm-Centric Organizational Design
kyonmm
PRO
3
1.4k
Qiita Bash アドカレ LT #1
okaru
0
190
これまでのネットワーク運用を変えるかもしれないアプデをおさらい
hatahata021
3
180
スクラムを一度諦めたチームにアジャイルコーチが入ってどう変化したか / A Team's Second Try at Scrum with an Agile Coach
kaonavi
0
250
業務の煩悩を祓うAI活用術108選 / AI 108 Usages
smartbank
9
22k
歴史から学ぶ、Goのメモリ管理基礎
logica0419
14
2.8k
The Engineer with a Three-Year Cycle
e99h2121
0
140
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.5k
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
115
100k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
What does AI have to do with Human Rights?
axbom
PRO
0
1.9k
Exploring anti-patterns in Rails
aemeredith
2
230
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Between Models and Reality
mayunak
1
170
Heart Work Chapter 1 - Part 1
lfama
PRO
4
35k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.5k
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