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
AWS初心者ってどうやってAWSを学ぶ?〜アプリエンジニアがやってよかったアーキテクチャ学習方法〜
yamanashi_ren01
0
190
Advanced App Shrinking Techniques
cbeyls
2
150
12年前の『型システム入門』翻訳の思い出話
mame
11
1.2k
Polarsの成長: v0.14からv1.0までの変遷と今後の展望
zerebom
1
350
HMSコンペ 11th Solution (team : kansai-kaggler)
t88
1
680
DynamoDB コスト最適化っぽいことの基本 with Terraform
kuro_kurorrr
2
250
CSC307 Lecture 11
javiergs
PRO
0
240
Play Billing Library 7.0.0 変更点まとめ@potatotips#88
kako351
0
160
さきがけから振り返るアーキテクチャ刷新 / Reflecting on the Architectural Renewal from the Vanguard
nrslib
2
770
Namespace on read
tagomoris
2
370
Microservices rules (July 2024) : what good looks like
cer
PRO
0
1.6k
CSC307 Lecture 05
javiergs
PRO
0
210
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
121
18k
Six Lessons from altMBA
skipperchong
24
3.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
28
2.2k
[RailsConf 2023] Rails as a piece of cake
palkan
35
4.4k
Optimising Largest Contentful Paint
csswizardry
18
2.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
189
16k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
23
1.9k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.6k
Git: the NoSQL Database
bkeepers
PRO
423
64k
GitHub's CSS Performance
jonrohan
1026
450k
No one is an island. Learnings from fostering a developers community.
thoeni
17
2.8k
Atom: Resistance is Futile
akmur
261
25k
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