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
KMMの導入と得られるもの / Introduction of KMM and its ben...
Search
Masatoshi Kubode
April 06, 2021
Programming
2.9k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
KMMの導入と得られるもの / Introduction of KMM and its benefits
https://wantedly-dev.connpass.com/event/207895/
Masatoshi Kubode
April 06, 2021
More Decks by Masatoshi Kubode
See All by Masatoshi Kubode
AIチャットの改善から見えた、良いAI体験とは / What Constitutes a Good AI Experience: Insights from Improving AI Chat
kubode
0
170
3リポジトリーを2ヶ月でモノレポ化した話 / How I turned 3 repositories into a monorepo in 2 months
kubode
0
260
ウォンテッドリーの「ココロオドル」モバイル開発 / Wantedly's "kokoro odoru" mobile development
kubode
2
1.4k
Firebase Dynamic Linksの代替手段を自作する / Create your own Firebase Dynamic Links alternative
kubode
0
740
技術を根付かせる / How to make technology take root
kubode
1
510
WantedlyでのKotlin Multiplatformの導入と課題 / Kotlin Multiplatform Implementation and Challenges at Wantedly
kubode
0
660
Google Play Consoleデベロッパー アカウントの確認 / Verifying your Play Console developer account
kubode
1
1.4k
Make your Android app into Multiplatform app
kubode
0
250
ウォンテッドリーにおけるモバイルアプリ開発 / iOSDC Japan 2024 Sponsor Session
kubode
1
1.5k
Other Decks in Programming
See All in Programming
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
230
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
330
Foundation Models frameworkで画像分析
ryodeveloper
1
630
Built Our Own Background Agent at LayerX
layerx
PRO
10
5.7k
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
430
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
210
仕様駆動開発の消費期限
watany
20
8.7k
freeeにおけるEvalsの実践例の紹介
freee
PRO
0
120
リアルな遅延を測る仕様
kota_yata
1
120
Go 1.27 における memory allocation の高速化
andpad
0
250
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
270
運用ダッシュボードの設計を誰も教えてくれないのだけどみなさんどうしてるんですか? - チームに監視するという文化を根付かせるための第一歩を踏みたい -
satoshi256kbyte
1
130
Featured
See All Featured
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.8k
Bash Introduction
62gerente
615
220k
Mind Mapping
helmedeiros
PRO
1
320
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Rails Girls Zürich Keynote
gr2m
96
14k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
WCS-LA-2024
lcolladotor
0
800
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
470
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
490
The SEO Collaboration Effect
kristinabergwall1
1
520
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Transcript
©2021 Wantedly, Inc. ,..ͷಋೖͱಘΒΕΔͷ ,..ͱʁಋೖͷಓͷΓɺԿ͕ಘΒΕΔͷ͔ ,..ษڧձ8BOUFEMZºνʔϜϥϘ 2021/04/06 - Masatoshi Kubode
©2021 Wantedly, Inc. XXXXBOUFEMZDPNJELVCPEF
©2021 Wantedly, Inc. ࠓͷൃදͷత
ϖʔδλΠτϧ ϖʔδαϒλΠτϧ ©2021 Wantedly, Inc. ,..ͷັྗΛ͑ͯ ಋೖͷྐʹͯ͠Β͏
©2021 Wantedly, Inc. "HFOEB
©2021 Wantedly, Inc. ,..ͱͳʹ͔ʁ ,..ͷಛ ಋೖ·ͰͷಓͷΓ
ಋೖͯ͠ײͨ͡1SPT$POT "HFOEB
©2021 Wantedly, Inc. ,..ͱͳʹ͔ʁ
©2021 Wantedly, Inc. w ,PUMJO.VMUJQMBUGPSN.PCJMF ,.. w J04ͱ"OESPJEͷϏδωεϩδοΫΛ୯ҰͷίʔυϕʔεͰڞ௨Խ͢ΔϞόΠϧ4%, w
6*ڞ௨Խͤͣɺ֤ϓϥοτϑΥʔϜͰ࣮ ,..ͱʁ https://kotlinlang.org/lp/mobile/
©2021 Wantedly, Inc. w ୯ҰίʔυϕʔεͰෳͷϓϥοτϑΥʔ ϜΛαϙʔτ͢ΔΈ w $PNNPOʹهड़ͨ͠ίʔυͯ͢ͷϓ ϥοτϑΥʔϜͰಈ࡞͢Δ w
J04"OESPJEʹಛԽͨ͠෦͕,.. ,PUMJO.VMUJQMBUGPSN Android iOS ☝Kotlin Multiplatform Mobile (KMM) Kotlin Multiplatform https://kotlinlang.org/docs/multiplatform.html
©2021 Wantedly, Inc. ,..ʹࢸΔྺ࢙ 1996 Java 1.0 2016 Kotlin 1.0
Kotlin/JVM 2016 Kotlin 1.1 Kotlin/JS 2017 Kotlin 1.2 Kotlin Multiplatform Experimental 2018 Kotlin 1.3 Kotlin/Native 20208݄ Kotlin 1.4 Kotlin Multiplatform Alpha Kotlin Multiplatform Mobile (KMM)
©2021 Wantedly, Inc. w ʹϦϦʔε w 8SJUFPODF SVOBOZXIFSF͕εϩʔΨϯ w +7.͕ͳ͍ͱಈ͔ͳ͍
w ͭ·ΓJ04ͳͲͰಈ͔ͳ͍ +BWB
©2021 Wantedly, Inc. w +7.ͱ"OESPJEͷϓϩάϥϛϯάݴޠ w +BWBDPNQBUJCJMJUZ ,PUMJO
©2021 Wantedly, Inc. w +BWB4DSJQU4VQQPSU w ·ͩίʔυڞ௨ԽͷΈͳ͍ w ޙʹ"OESPJEͷୈҰڃݴޠʹ ,PUMJO
©2021 Wantedly, Inc. w ,PUMJO.VMUJQMBUGPSN &YQFSJNFOUBM w $PNNPOͱ͍͏֓೦͕Ͱ͖Δ ,PUMJO
©2021 Wantedly, Inc. w ,PUMJO/BUJWF w J04 w 8JOEPXT w
-JOVY w FUD w 8SJUFPODF SVOBOZXIFSF ,PUMJO
©2021 Wantedly, Inc. w ,PUMJO.VMUJQMBUGPSN"MQIB w ,PUMJO.VMUJQMBUGPSN.PCJMF ,.. ,PUMJO Android
iOS ☝Kotlin Multiplatform Mobile (KMM)
©2021 Wantedly, Inc. ,..ͷಛ
©2021 Wantedly, Inc. w 6*ڞ௨Խ͠ͳ͍ w ϓϥοτϑΥʔϜʹ࠷దͳܗ w ϓϥοτϑΥʔϜݻ༗ͷ"1*͑Δ ,..ͷಛ
ϖʔδλΠτϧ ϖʔδαϒλΠτϧ ©2021 Wantedly, Inc. 6*ڞ௨Խ͠ͳ͍
©2021 Wantedly, Inc. ,..ϏδωεϩδοΫΛڞ௨Խ͢Δ ,..࠷దͳ69ϓϥοτϑΥʔϜʹωΠςΟϒͳ ͷͰ͋Δ͖ͱߟ͍͑ͯΔɻ ͳͷͰ,..Ͱͷڞ௨Խਪ͠ͳ͍ɻ 6*ڞ௨Խ͠ͳ͍
©2021 Wantedly, Inc. 6*ڞ௨Խ͠ͳ͍ طଘϓϩμΫτͷಋೖͰղ͖͘՝͕ݮΔ
©2021 Wantedly, Inc. 6*ڞ௨Խ͠ͳ͍ ,..ΞʔΩςΫνϟΨΠυϥΠϯ Layer Recommendation on sharing Business
logic Yes Platform access Yes/no. ϓϥοτϑΥʔϜݻ༗ͷAPI͑Δ͕ ڍಈڞ௨ԽͰ͖Δ Frontend behavior Yes/no. MVP, MVIͳͲͳΜͰ User interface No. ϓϥοτϑΥʔϜݻ༗Ͱ͋Δ͖ https://kotlinlang.org/docs/mobile/architect-kmm-app.html
ϖʔδλΠτϧ ϖʔδαϒλΠτϧ ©2021 Wantedly, Inc. ϓϥοτϑΥʔϜʹ࠷దͳܗ
©2021 Wantedly, Inc. ΤίγεςϜʹແཧͳ͘౷߹ w J04 w GSBNFXPSL w $PDPB1PET
w "OESPJE w BBS w KBS w (SBEMFTVCNPEVMF ϓϥοτϑΥʔϜʹ࠷దͳܗ ґଘੑ
©2021 Wantedly, Inc. ϓϥοτϑΥʔϜʹ࠷దԽ͞ΕͨόΠφϦ ϓϥοτϑΥʔϜʹ࠷దͳܗ Φʔόʔϔουͷগͳ͞
ϖʔδλΠτϧ ϖʔδαϒλΠτϧ ©2021 Wantedly, Inc. ϓϥοτϑΥʔϜݻ༗ͷ"1*͑Δ
©2021 Wantedly, Inc. ,..ͰϓϥοτϑΥʔϜݻ༗"1*Λ͑Δ ϓϥοτϑΥʔϜݻ༗ͷ"1*͑Δ FYQFDUBDUVBM https://kotlinlang.org/docs/mobile/connect-to-platform-specific-apis.html
©2021 Wantedly, Inc. ಋೖ·ͰͷಓͷΓ
©2021 Wantedly, Inc. νʔϜͷཧղ ,..ͷυΩϡϝϯτʹΨΠυϥΠϯ͕͋Δ͘Β͍ॏཁ w ϓϩδΣΫτͰಇ͘ਓʑΛཧղ͢Δ͜ͱ͕ɺ౷߹Λޭͤ͞ΔͨΊͷୈҰา w ্͔࢘Βͨ͠Β৽͍ٕ͠ज़ಋೖϦεΫ w
J04ΤϯδχΞ͔Βͨ͠Βࠓ·ͰͱҟͳΔڥ w ,..͕Ͳ͏ͬͯಈ͍͍ͯΔͷ͔Λઆ໌ w ,..ͷՁΛײͯ͡Β͏ ಋೖͷಓͷΓ https://kotlinlang.org/docs/mobile/introduce-your-team-to-kmm.html
©2021 Wantedly, Inc. ,..࠷దͳखஈ͔ ϓϩμΫτͷϑΣʔζνʔϜʹ߹ΘͤΔ w ҆ఆ͖ͯͨ͠ϓϩμΫτͰڪΒ͘࠷ద w Ծઆݕূஈ֊Ͱదͱݴ͍ʹ͍͘ w
J04"OESPJEͰϦϦʔεαΠΫϧ͕ҧ͏ w ϏδωεϩδοΫߴͰมΘΔ w 'MVUUFS3FBDU/BUJWFͷ΄͏͕ߴ w ϑϧϦχϡʔΞϧ༧ఆͳΒʁ w νʔϜͰ߹ҙΛͱͬͯ࠷దͳͷΛબͿ ಋೖͷಓͷΓ
©2021 Wantedly, Inc. J04"OESPJE྆ํͰ͖Δ w τϥϒϧγϡʔςΟϯά w ڥߏஙπʔϧνΣΠϯ w ͍ͳ͔ͬͨΒɺͳΓ·͠ΐ͏
ಋೖͷಓͷΓ
©2021 Wantedly, Inc. ݕূ w J04"OESPJE྆ํͰݕূ͕ඞਢ w J04ʹ͓͚ΔϝϞϦϚωδϝϯτϞσϧͷҧ͍ w J04ͷ0CKFDUJWF$4XJGUޓੑͷ੍ݶ
w ΠϯλʔϑΣʔε͔ΒδΣωϦΫεফࣦ w ݺΜͩTVTQFOEͷΩϟϯηϧ͕Ͱ͖ͳ͍ w J04ΤϯδχΞͱҰॹʹݕূ͢Δ w 1P$ϓϩτλΠϓΛ࡞ͬͯখ͘͞ߴʹݕূ ಋೖͷಓͷΓ
©2021 Wantedly, Inc. ,B.1,JU ಋೖͷಓͷΓ https://github.com/touchlab/KaMPKit ,..ͷධՁΛ༰қʹ͢ΔελʔλʔΩοτ
©2021 Wantedly, Inc. ಋೖࣄྫ ಋೖͷಓͷΓ https://kotlinlang.org/lp/mobile/case-studies/
©2021 Wantedly, Inc. ಋೖͯ͠ײͨ͡1SPT$POT
©2021 Wantedly, Inc. w ظతͳੜ࢈ੑվળ͢Δ w ωΠςΟϒͷ6*69ΛఏڙͰ͖Δ w ΤϥʔϋϯυϦϯάΩϟογϡͷڍಈͳͲɺඍົͳҧ͍ݮΔ w
ޙ͍࣮͢ΔϓϥοτϑΥʔϜɺຊʹ6*࣮͚ͩͰࡁΉ w ωΠςΟϒͱͷڥքʹͳΔ,..ϨΠϠʔͷ༷ܾ͑͞ΊΕɺ,..ͱωΠςΟϒͷ࣮͕ ͋ΔఔฒྻԽͰ͖Δ w ,..ʹ6*͕ͳ͍ͷͰɺඞવతʹςετΧόϨοδ͕ߴ͘ͳΔ 1SPT
©2021 Wantedly, Inc. w "MQIBͱ͍͏εςʔλεɺϦεΫΛෛ͏͜ͱ w 8SJUFPODF UFTUFWFSZXIFSF w J04ΤϯδχΞͷֶशίετ͕ߴ͍
w J04ͷ0CKFDUJWF$4XJGUޓੑ͕Ұ෦ඍົ $POT
©2021 Wantedly, Inc. ·ͱΊ
©2021 Wantedly, Inc. w ࠷దͳ6*69ͷఏڙͱڞ௨Խͷཱ͕྆Ͱ͖Δ w طଘϓϩμΫτΛڞ௨Խ͢Δʹ࠷ద ·ͱΊ
ϖʔδλΠτϧ ϖʔδαϒλΠτϧ ©2021 Wantedly, Inc. 🙇