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
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
220
3リポジトリーを2ヶ月でモノレポ化した話 / How I turned 3 repositories into a monorepo in 2 months
kubode
0
280
ウォンテッドリーの「ココロオドル」モバイル開発 / Wantedly's "kokoro odoru" mobile development
kubode
2
1.4k
Firebase Dynamic Linksの代替手段を自作する / Create your own Firebase Dynamic Links alternative
kubode
0
750
技術を根付かせる / How to make technology take root
kubode
1
530
WantedlyでのKotlin Multiplatformの導入と課題 / Kotlin Multiplatform Implementation and Challenges at Wantedly
kubode
0
670
Google Play Consoleデベロッパー アカウントの確認 / Verifying your Play Console developer account
kubode
1
1.5k
Make your Android app into Multiplatform app
kubode
0
250
ウォンテッドリーにおけるモバイルアプリ開発 / iOSDC Japan 2024 Sponsor Session
kubode
1
1.6k
Other Decks in Programming
See All in Programming
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
500
新卒PdEのリアル
ryu1013
1
510
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
1
560
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
150
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
130
Java 27新機能 / Java 27 new features
kishida
2
150
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
190
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
260
cdk deploy JawsSonic #MARATHONしながらAWSリソースをデプロイしてみよう
akihisaikeda
2
140
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
520
SREの越境 / SRE Collaboration
y0hgi
2
260
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
260
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1369
210k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
280
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
The agentic SEO stack - context over prompts
schlessera
0
940
Six Lessons from altMBA
skipperchong
29
4.5k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
430
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
560
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.8k
Building Applications with DynamoDB
mza
96
7.2k
The Cost Of JavaScript in 2023
addyosmani
55
10k
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. 🙇