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
1.9k
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
ComposeでのShared Element Transition / Shared Element Transition in Compose
kubode
0
96
K2への完全移行結果 / Results of complete migration to K2
kubode
1
1.1k
Data Bindingの移行を楽にする / Easier migration of Data Binding
kubode
0
350
Compose Shadow Alternative
kubode
0
130
アイコンをComposeにする / Compose the Icons
kubode
0
330
デザインシステムのCompose実装 / Design system Compose implementation
kubode
0
410
KMMのCI/CD
kubode
3
670
WantedlyでのCompose導入 / Introducing Jetpack Compose at Wantedly
kubode
1
360
DroidKaigi/conference-app-2022へのContributionが楽しかった話 / Contributing DroidKaigi app was fun!
kubode
0
920
Other Decks in Programming
See All in Programming
Sementic Kernelのネイティブ関数について
tomokusaba
0
780
架空のコンペ_スクワットフォーム判別コンペの解法
cpptake
0
430
PHP8の機能を使って堅牢にコードを書く
fendo181
6
2k
Catch Up with Swift 5.10
ojun9
1
450
Cloud RunとCloud PubSubでサーバレスなデータ基盤2024 with Terraform / Cloud Run and PubSub with Terraform
shinyorke
7
1.7k
WasmOS: Wasmを実行する自作Microkernel
riru
0
360
Deno に Web 標準 API を実装する / Implementing Web Standard API to Deno
petamoriken
0
310
私がエッジを使う理由
chimame
9
3.6k
iOS / Android ネイティブ 実装アプリの Flutter 化事例
mthiroshi
0
650
導入から5年が経って見えた Datadog APM 運用の課題
bgpat
1
480
Kotlinを用いたDSL的な設計手法と使用上の注意
kohii00
2
490
htmx is fun!
codehex
2
160
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
124
32k
Building a Modern Day E-commerce SEO Strategy
aleyda
15
6.3k
Typedesign – Prime Four
hannesfritz
36
2k
Building Adaptive Systems
keathley
29
1.8k
How to train your dragon (web standard)
notwaldorf
71
5k
Why Our Code Smells
bkeepers
PRO
330
56k
Fashionably flexible responsive web design (full day workshop)
malarkey
397
65k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
11
1.4k
Become a Pro
speakerdeck
PRO
8
4.2k
In The Pink: A Labor of Love
frogandcode
137
21k
Designing Experiences People Love
moore
135
23k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
8
8.2k
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