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を使って感じたPros/Cons / Pros/Cons experienced using KMM
Search
Masatoshi Kubode
September 19, 2021
Programming
1
2.1k
KMMを使って感じたPros/Cons / Pros/Cons experienced using KMM
iOSDC Japan 2021 スポンサーセッションでShota Kashiharaと一緒に話した資料です。
https://iosdc.jp/2021/
Masatoshi Kubode
September 19, 2021
Tweet
Share
More Decks by Masatoshi Kubode
See All by Masatoshi Kubode
Jetpack ComposeのBottomSheetとの戦い / Fight with BottomSheet of Jetpack Compose
kubode
0
85
Mobile Chapterが目指すところと技術 / Vision and Technology of Mobile Chapter at Wantedly
kubode
0
110
ウォンテッドリーでのKMPワークフロー / KMP workflow at Wantedly
kubode
0
1k
ComposeでのShared Element Transition / Shared Element Transition in Compose
kubode
0
290
K2への完全移行結果 / Results of complete migration to K2
kubode
2
4.2k
Data Bindingの移行を楽にする / Easier migration of Data Binding
kubode
0
810
Compose Shadow Alternative
kubode
0
250
アイコンをComposeにする / Compose the Icons
kubode
0
440
デザインシステムのCompose実装 / Design system Compose implementation
kubode
0
510
Other Decks in Programming
See All in Programming
[After Kotlin Fest 2024 LT Night @ Sansan] もっともっとKotlinを好きになる!K2 Compiler Pluginで遊んでみよう!
kitakkun
2
260
Architectures with Lightweight Stores: New Rules and Options
manfredsteyer
PRO
0
100
【Go言語】ジェネリクス
tomo1227
0
170
HMSコンペ 11th Solution (team : kansai-kaggler)
t88
1
680
なぜ宣言的 UI は壊れにくいのか / Why declarative UI is less fragile
uenitty
29
13k
CSC307 Lecture 08
javiergs
PRO
0
330
Rubyのパフォーマンスプロファイリングの改善 / Enhancing performance profiling for Ruby
osyoyu
1
410
Folding Cheat Sheet #7
philipschwarz
PRO
0
150
はしめてのプログラミングとロボット制御
watawatavoltage
0
290
TiDB Serverless ~理想のServerless DBを考える~
soso_15315
1
160
CSC307 Lecture 09
javiergs
PRO
1
500
Modern Angular: Renovation for Your Applications
manfredsteyer
PRO
0
140
Featured
See All Featured
Producing Creativity
orderedlist
PRO
340
39k
Building an army of robots
kneath
301
42k
Gamification - CAS2011
davidbonilla
78
4.9k
The Invisible Side of Design
smashingmag
294
50k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
149
45k
Automating Front-end Workflow
addyosmani
1362
200k
Infographics Made Easy
chrislema
238
18k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
Clear Off the Table
cherdarchuk
89
320k
Fashionably flexible responsive web design (full day workshop)
malarkey
399
65k
The Illustrated Children's Guide to Kubernetes
chrisshort
39
47k
Fantastic passwords and where to find them - at NoRuKo
philnash
42
2.7k
Transcript
©2021 Wantedly, Inc. ,..Λͬͯײͨ͡1SPT$POT J04%$ Wantedly, Inc. Kubode & Kashihara
©2021 Wantedly, Inc. ࣗݾհ
©2021 Wantedly, Inc. w ,..ͱͳʹ͔ w 8BOUFEMZͰͷಋೖܦҢ w 8BOUFEMZͷ࣮ྫΛհ "HFOEB
©2021 Wantedly, Inc. ,..ͱͳʹ͔
©2021 Wantedly, Inc. w ,PUMJO.VMUJQMBUGPSN.PCJMF ,.. w ϏδωεϩδοΫΛڞ௨Խ w
6*֤ϓϥοτϑΥʔϜͰ࣮ ,..ͱ https://kotlinlang.org/lp/mobile/
©2021 Wantedly, Inc. ,PUMJOͷڞ௨ίʔυ͕J04"OESPJEͰ͘͠ಈ͘ ,PUMJOͷڞ௨ίʔυΛॻ͘ 👉ϓϥοτϑΥʔϜʹ࠷దͳܗʹม 👉ͦΕΛ֤ϓϥοτϑΥʔϜͰར༻͢Δ ,..ͱ "OESPJE ,..ͷڞ௨ίʔυ
J04 GSBNFXPSL$PDPB1PET 4XJGU1BDLBHF.BOBHFS 0CKFDUJWF$4XJGU ޓόΠφϦ 6*,JU4XJGU6* +7.ޓόΠφϦ "OESPJE7JFX +FUQBDL$PNQPTF (SBEMF.BWFO
©2021 Wantedly, Inc. ,..͚ͩͰJ04"OESPJEΞϓϦΛ࡞Εͳ͍ 6*ߏஙํ๏ϓϥοτϑΥʔϜͰҟͳΔ 👉ҟͳΔͷΛڞ௨ԽͰ͖ͳ͍ 👉6*ϓϥοτϑΥʔϜʹ࠷దͳํ๏ͰߏஙͰ͖Δ ,..ͱ
©2021 Wantedly, Inc. 8BOUFEMZͰͷಋೖܦҢ
©2021 Wantedly, Inc. ෛ࠴Խͨ͠3FBDU/BUJWF w ʹJ04ΞϓϦͷϦχϡʔΞϧΛਐΊ͍ͯͨ w ϦχϡʔΞϧதͷάϩʔεΛ8FC'SPOUΤϯδχΞ͕3FBDU/BUJWFͰ͍ͬͯͨ w ϦχϡʔΞϧޙ෦తʹ3FBDU/BUJWF͕Δ
w 8FC'SPOUΤϯδχΞ͕ຊདྷͷ։ൃʹΔͱϝϯςφʔ͕ෆࡏʹ w ෛ࠴Խɺ9DPEFΞοϓσʔτͳͲͷোʹͳͬͯ͘Δ w 3FBDU/BUJWFΛऔΓআ͘͜ͱʹ ಋೖܦҢ
©2021 Wantedly, Inc. ϏδωεϩδοΫڞ௨Խͷ՝ w J04"OESPJEͰඍົʹڍಈ͕ҧ͏ w ࣮࿙ΕɺΩϟογϡɺΤϥʔ࣌ͷڍಈ w εΩʔϚఆٛ࿙ΕʹΑΔόά
w Ͳͬͪͷ࣮͕ਖ਼͍͔͠Θ͔Βͳ͍😱 w J04"OESPJEͲͪΒ࣮ɾϨϏϡʔ͢Δίετ ಋೖܦҢ
©2021 Wantedly, Inc. ,..ͷݕ౼ɺಋೖ w 1P$ͷ࣮ࢪ w ࢼݧతʹ"OESPJEಋೖ w νʔϜͰ߹ҙΛऔͬͯJ04ʹಋೖ͢Δஅ
ಋೖܦҢ
©2021 Wantedly, Inc. 8BOUFEMZͰͷಋೖྫ ͔͜͜Β!LBTIJIBSBSBSB͕͓ૹΓ͠·͢ʂ
©2021 Wantedly, Inc. ϨϙδτϦઃܭϥΠϒϥϦํ๏Λߟ͑Δ J04͔Βݟͨ,..ͷϥΠϒϥϦ 6*Ҏ֎ͷϨΠϠʔͷڞ௨Խ
ࠔͬͨ 8BOUFEMZͰͷಋೖྫ
©2021 Wantedly, Inc. ϨϙδτϦઃܭΛߟ͑Δ ,..ϥΠϒϥϦͱJ04ΞϓϦɾ"OESPJEΞϓϦͷͭϞδϡʔϧΛ ϨϙδτϦϨϕϧͰͲͷΑ͏ʹׂ͢Δ͔ʁ ީิ ͭͷϨϙδτϦʹू͢Δ
Ϟδϡʔϧ͝ͱʹϨϙδτϦΛׂ͢Δ 8BOUFEMZͰͷಋೖྫ
©2021 Wantedly, Inc. ϨϙδτϦઃܭΛߟ͑Δ ,..ϥΠϒϥϦͱJ04ΞϓϦɾ"OESPJEΞϓϦͷͭϞδϡʔϧΛ ϨϙδτϦϨϕϧͰͲͷΑ͏ʹׂ͢Δ͔ʁ ީิ ͭͷϨϙδτϦʹू͢Δ
Ϟδϡʔϧ͝ͱʹϨϙδτϦΛׂ͢Δ✅ 8BOUFEMZͰͷಋೖྫ
©2021 Wantedly, Inc. ϥΠϒϥϦํ๏Λߟ͑Δ ީิ $PDPB1PETͰϏϧυࡁΈͷGSBNFXPSLΛ͢Δ HJUTVCNPEVMFͰιʔείʔυΛڞ༗͠ɺར༻ଆͰϏϧυ͢Δ 8BOUFEMZͰͷಋೖྫ
©2021 Wantedly, Inc. ϥΠϒϥϦํ๏Λߟ͑Δ ީิ $PDPB1PETͰϏϧυࡁΈͷGSBNFXPSLΛ͢Δ HJUTVCNPEVMFͰιʔείʔυΛڞ༗͠ɺར༻ଆͰϏϧυ͢Δ✅ 8BOUFEMZͰͷಋೖྫ
©2021 Wantedly, Inc. ϥΠϒϥϦํ๏Λߟ͑Δ HJUTVCNPEVMFͰιʔείʔυΛڞ༗͠ɺར༻ଆͰϏϧυ͢Δ✅ ཧ༝ ॳظίετ͕͍ ࣌·ٕͩज़ݕূͷॳظஈ֊Ͱ͘ΞϓϦ্Ͱಈ͔͢͜ͱ͕ॏཁͩͬͨ
ϥΠϒϥϦͷΠϯλϑΣʔε͕ະͰසൟʹखΛೖΕ͍ͯ͘ϑΣʔζͰஅ͕ ແ͍΄͏͕͘։ൃͰ͖ͨ ޙ͔ΒHJUTVCNPEVMFΛ$PDPB1PETʹҠߦ͢Δ͜ͱ͕Մೳͩͬͨ 8BOUFEMZͰͷಋೖྫ
©2021 Wantedly, Inc. J04͔Βݟͨ,..ͷϥΠϒϥϦ
©2021 Wantedly, Inc. ,PUMJOͰॻ͍ͨίʔυΛ4XJGUͰར༻͢Δ ,PUMJOͰॻ͍ͨίʔυ͕4XJGU͔ΒͲ͏ݟ͑Δͷ͔ɺ ಉظॲཧɾඇಉظॲཧͷͭΛྫʹ؆୯ʹհ J04͔Βݟͨ,..ͷϥΠϒϥϦ
©2021 Wantedly, Inc. ಉظॲཧ J04͔Βݟͨ,..ͷϥΠϒϥϦ
©2021 Wantedly, Inc. ඇಉظॲཧ J04͔Βݟͨ,..ͷϥΠϒϥϦ
©2021 Wantedly, Inc. 6*Ҏ֎ͷϨΠϠʔͷڞ௨Խ
©2021 Wantedly, Inc. 8BOUFEMZ7JTJUΞϓϦ ,..Λ6*Ҏ֎ͷϨΠϠʔͰར༻ 7JFX04ຖͷωΠςΟϒͳ࣮ J046*,JUΛ༻͍ͯ͠·͢ɻ
6*Ҏ֎ͷϨΠϠʔͷڞ௨Խ Ҿ༻: Wantedly Visitʹ͓͚ΔKotlin Multiplatformͷಋೖͱ࣮ https://www.wantedly.com/companies/wantedly/post_articles/300999 ,..Λ6*Ҏ֎ͷϨΠϠʔͰར༻ 7JFX04ຖͷωΠςΟϒͳ࣮ J046*,JUΛ༻͍ͯ͠·͢ɻ 3FBDUPS,JUͱ͍͏ϥΠϒϥϦΛͬͨ 'MVYϥΠΫͳϑϨʔϜϫʔΫΛ࠾༻
©2021 Wantedly, Inc. 8BOUFEMZ7JTJUΞϓϦ ,..Λ6*Ҏ֎ͷϨΠϠʔͰར༻ 7JFX04ຖͷωΠςΟϒͳ࣮ J046*,JUΛ༻͍ͯ͠·͢ɻ
3FBDUPS,JUͱ͍͏ϥΠϒϥϦΛͬͨ 'MVYϥΠΫͳϑϨʔϜϫʔΫΛ࠾༻ 6*Ҏ֎ͷϨΠϠʔͷڞ௨Խ Ҿ༻: https://github.com/ReactorKit/ReactorKit
©2021 Wantedly, Inc. 6*ͷ࣮ྫ 6*Ҏ֎ͷϨΠϠʔͷڞ௨Խ
©2021 Wantedly, Inc. 6*ͷ࣮ྫ 6*Ҏ֎ͷϨΠϠʔͷڞ௨Խ
©2021 Wantedly, Inc. 6*ͷ࣮ྫ 6*Ҏ֎ͷϨΠϠʔͷڞ௨Խ
©2021 Wantedly, Inc. 6*ͷ࣮ྫ 6*Ҏ֎ͷϨΠϠʔͷڞ௨Խ
©2021 Wantedly, Inc. 6*ͷ࣮ྫ 6*Ҏ֎ͷϨΠϠʔͷڞ௨Խ
©2021 Wantedly, Inc. 6*ͷ࣮ྫ 6*Ҏ֎ͷϨΠϠʔͷڞ௨Խ
©2021 Wantedly, Inc. 3FBDUPSͷ࣮ྫ 6*Ҏ֎ͷϨΠϠʔͷڞ௨Խ
©2021 Wantedly, Inc. 3FBDUPSͷ࣮ྫ 6*Ҏ֎ͷϨΠϠʔͷڞ௨Խ
©2021 Wantedly, Inc. ࠔͬͨ
©2021 Wantedly, Inc. J04ଆͰࠔͬͨ JOUFSGBDFͷܕύϥϝʔλ͕ࣦΘΕΔ ,PUMJOͷίϧʔνϯͷओཁͳίϯϙʔωϯτͷͭͰ͋Δ'MPX5Ͱ͕͢ɺ J04͔Βͷར༻ͷࡍʹܕύϥϝʔλ͕ࣦΘΕͯ"OZ Λฦ͢Α͏ʹͳ͍ͬͯ·ͨ͠ ˞'MPX5͜͜Ͱͬ͘͟Γݴ͏ͱ$PNCJOFͷ1VCMJTIFS 3Y4XJGUͷ0CTFSWBCMF5
ͷΑ͏ͳͷɺͱ͍͏ཧղͰ0,Ͱ͢
©2021 Wantedly, Inc. JOUFSGBDF QSPUPDPM ͷܕύϥϝʔλ͕ࣦΘΕΔ J04ଆͰࠔͬͨ
©2021 Wantedly, Inc. JOUFSGBDF QSPUPDPM ͷܕύϥϝʔλ͕ࣦΘΕΔ J04ଆͰࠔͬͨ
©2021 Wantedly, Inc. JOUFSGBDF QSPUPDPM ͷܕύϥϝʔλ͕ࣦΘΕΔ J04ଆͰࠔͬͨ
©2021 Wantedly, Inc. JOUFSGBDF QSPUPDPM ͷܕύϥϝʔλ͕ࣦΘΕΔ J04ଆͰࠔͬͨ
©2021 Wantedly, Inc. JOUFSGBDF QSPUPDPM ͷܕύϥϝʔλ͕ࣦΘΕΔ J04ଆͰࠔͬͨ ,..Ͱ࡞ΒΕͨJ04͚ϥΠϒϥϦ0CKFDUJWF$ϥΠϒϥϦʹͳΔ
0CKFDUJWF$ ͷ QSPUPDPM ʹܕύϥϝʔλ͕ѻ͑ͳ͍ͨΊ 'MPX5 ͷܕύϥ ϝʔλ͕JE@/VMMBCMFܕ 0QUJPOBM"OZܕ ʹͳͬͯ͠·͍ͬͯΔ
©2021 Wantedly, Inc. JOUFSGBDF QSPUPDPM ͷܕύϥϝʔλ͕ࣦΘΕΔ J04ଆͰࠔͬͨ ,..Ͱ࡞ΒΕͨJ04͚ϥΠϒϥϦ0CKFDUJWF$ϥΠϒϥϦʹͳΔ
0CKFDUJWF$ ͷ QSPUPDPM ʹܕύϥϝʔλ͕ѻ͑ͳ͍ͨΊ 'MPX5 ͷܕύϥ ϝʔλ͕JE@/VMMBCMFܕ 0QUJPOBM"OZܕ ʹͳͬͯ͠·͍ͬͯΔ
©2021 Wantedly, Inc. J04ଆͰࠔͬͨ ճආࡦ Α͘ΒΕΔํ๏ͭ "OZ Λར༻ଆͰҙͷܕʹΩϟετ͢Δ
,..ଆͰ'MPX5Ͱͳ͘ҙͷܕΛฦ͢ΫϩʔδϟΛ༻ҙ͢Δ
©2021 Wantedly, Inc. J04ଆͰࠔͬͨ ճආࡦ Α͘ΒΕΔํ๏ͭ "OZ Λࣗ໌ͳҙͷܕʹΩϟετ͢Δ
,..ଆͰ'MPX5Ͱͳ͘ҙͷܕΛฦ͢ΫϩʔδϟΛ༻ҙ͢Δ✅
©2021 Wantedly, Inc. ·ͣɺ,PUMJOͰ'MPX͔Β4UBUFΛฦ͢Ϋϩʔδϟʹม͢ΔॲཧΛॻ͖·͢ɻ J04ଆͰࠔͬͨ
©2021 Wantedly, Inc. ·ͣɺ,PUMJOͰ'MPX͔Β4UBUFΛฦ͢Ϋϩʔδϟʹม͢ΔॲཧΛॻ͖·͢ɻ J04ଆͰࠔͬͨ
©2021 Wantedly, Inc. ͜ͷΫϩʔδϟΛJ04ଆͰར༻͢Δͱɺ0QUJPOBM"OZܕͰͳ͘ݩʑͷܕ͕͍ͨ ͕औಘͰ͖·͢ɻ J04ଆͰࠔͬͨ
©2021 Wantedly, Inc. ΫϩʔδϟΛ0CTFSWBCMFʹมͯ͠༻Ͱ͖ΔΑ͏ʹ͍ͯ͠·͢ɻ J04ଆͰࠔͬͨ
©2021 Wantedly, Inc. ·ͱΊ
©2021 Wantedly, Inc. 1SPT • UI࣮ʹूதͰ͖Δ • ඞવతʹΛҙࣝͨ͠ઃܭʹͳΔ $POT •
Swiftͷޓੑʹ՝͕͋Γϥούʔ͕ඞཁ • KotlinGradleͱ͍ͬͨผͷ͕ࣝඞཁ ·ͱΊ
©2021 Wantedly, Inc. ,..Λಋೖ͢Δࡍʹݕ౼͢Δ͖͜ͱ w νʔϜϝϯόʔ͕,PUMJOʹ׳Ε͍ͯΔ͔ w J04ͱ"OESPJEͷڑ͍͔ۙ w ϓϩμΫτͱͯ͠߹ҙΛͱͬͯਐΊΒΕΔ͔
νʔϜʹಋೖ͢ΔެࣜΨΠυ͋ΔͷͰࢀߟʹ IUUQTLPUMJOMBOHPSHEPDTNPCJMFJOUSPEVDFZPVSUFBNUPLNNIUNM ·ͱΊ
©2021 Wantedly, Inc. એ
©2021 Wantedly, Inc. IUUQTEPDTXBOUFEMZEFW
ϖʔδλΠτϧ ϖʔδαϒλΠτϧ ©2021 Wantedly, Inc. 8FBSFIJSJOH
ϖʔδλΠτϧ ϖʔδαϒλΠτϧ ©2021 Wantedly, Inc. 5IBOLT