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 Multiplatform
Search
Sosuke Okubo
March 29, 2019
Technology
0
36
Kotlin Multiplatform
Sosuke Okubo
March 29, 2019
Tweet
Share
More Decks by Sosuke Okubo
See All by Sosuke Okubo
“Build trust through better privacy”を見たメモ
mojage
0
100
IPによる地域制限の浅い話
mojage
0
20
Android Robo Test
mojage
0
60
栗まんじゅう問題を体感するアプリを作って入門した ARKit + SceneKit
mojage
0
110
Actions on Googleのアプリを作ってみた
mojage
0
120
SKStoreReviewController
mojage
0
460
スマホアプリ開発で位置情報をシミュレーションする
mojage
0
290
Other Decks in Technology
See All in Technology
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.2k
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
180
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
120
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
120
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
420
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
73k
Stately
mu7889yoon
1
110
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
42k
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
190
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
440
月間数億レコードのアクセスログ基盤を無停止・低コストでAWS移行せよ!アプリケーションエンジニアのSREチャレンジ💪
miyamu
0
820
Featured
See All Featured
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
55
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
64
Designing for humans not robots
tammielis
254
26k
Amusing Abliteration
ianozsvald
0
96
[SF Ruby Conf 2025] Rails X
palkan
1
740
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
92
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
Facilitating Awesome Meetings
lara
57
6.7k
Transcript
Kotlin Multiplatform 2019/3/29 Xtone社内勉強会 Sosuke Okubo
Kotlin Multiplatformとは • Kotlinでマルチプラットフォームサービスを作る仕組み ◦ Kotlinはそもそもいろんなプラットフォームで動く ▪ Kotlin/JVM ▪ Kotlin/Native
▪ Kotlin/JS • Kotlin Multiplatformはプラットフォーム間でコードを共有する仕組みを提供してくれ るもの
iOSとAndroidでコードを共有する • Android → Kotlin/JVM • iOS → Kotlin/Native ◦
Kotlin/NativeがiOS向けのFrameworkを出力することができる ▪ つまりiOSからKotlinで書いたコードを呼べる ◦ KotlinからiOSのFrameworkも利用できる ▪ https://kotlinlang.org/docs/reference/native/objc_interop.html ▪ ただしObjective-Cに公開されているAPIのみ
デモ:公式チュートリアルをやってみる https://kotlinlang.org/docs/tutorials/native/mpp-ios-android.html
そのほかのMPP対応ライブラリ • Ktor Http Client ◦ httpクライアント ◦ KtorというKotlin製のサーバーフレームワークのコンポーネント •
kotlinx.serialization ◦ JSONやProtobufに対応したシリアライズライブラリ • Kodein ◦ DIコンテナ
まとめ • Kotlin MultiplatformでiOSとAndroidでコードを共有できる ◦ それぞれのプラットフォームでの開発の仕方は基本的には変わらない ◦ iOSはXcodeを、AndroidはAndroid Studioを使って今までどおり開発ができる •
夢がある
参考レポジトリ • https://github.com/JetBrains/kotlin-examples/tree/master/tutorials/mpp-iOS-An droid • https://github.com/ktorio/ktor-samples/tree/master/mpp/client-mpp • https://github.com/DroidKaigi/conference-app-2019 • https://github.com/JetBrains/kotlinconf-app
• https://github.com/adrianbukros/github-multiplatform-example