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.8k
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
3リポジトリーを2ヶ月でモノレポ化した話 / How I turned 3 repositories into a monorepo in 2 months
kubode
0
220
ウォンテッドリーの「ココロオドル」モバイル開発 / Wantedly's "kokoro odoru" mobile development
kubode
2
1.3k
Firebase Dynamic Linksの代替手段を自作する / Create your own Firebase Dynamic Links alternative
kubode
0
710
技術を根付かせる / How to make technology take root
kubode
1
490
WantedlyでのKotlin Multiplatformの導入と課題 / Kotlin Multiplatform Implementation and Challenges at Wantedly
kubode
0
640
Google Play Consoleデベロッパー アカウントの確認 / Verifying your Play Console developer account
kubode
1
1.4k
Make your Android app into Multiplatform app
kubode
0
230
ウォンテッドリーにおけるモバイルアプリ開発 / iOSDC Japan 2024 Sponsor Session
kubode
1
1.5k
Jetpack ComposeのBottomSheetとの戦い / Fight with BottomSheet of Jetpack Compose
kubode
0
1.1k
Other Decks in Programming
See All in Programming
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
230
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
3.4k
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.6k
The NotImplementedError Problem in Ruby
koic
1
660
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
110
AIとRubyの静的型付け
ukin0k0
0
550
AI時代のUIはどこへ行く?その2!
yusukebe
19
6.9k
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
310
AIとASP.NET Coreで雑Webアプリを作った話
mayuki
0
460
Swiftのレキシカルスコープ管理
kntkymt
0
220
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
260
JavaDoc 再入門
nagise
0
310
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
140
Embracing the Ebb and Flow
colly
88
5.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
360
A Modern Web Designer's Workflow
chriscoyier
698
190k
Discover your Explorer Soul
emna__ayadi
2
1.1k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
210
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
280
Statistics for Hackers
jakevdp
799
230k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
530
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
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. 🙇