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 usi...
Search
Masatoshi Kubode
September 19, 2021
Programming
1
2.4k
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
技術を根付かせる / How to make technology take root
kubode
1
250
WantedlyでのKotlin Multiplatformの導入と課題 / Kotlin Multiplatform Implementation and Challenges at Wantedly
kubode
0
320
Google Play Consoleデベロッパー アカウントの確認 / Verifying your Play Console developer account
kubode
1
1.1k
Make your Android app into Multiplatform app
kubode
0
110
ウォンテッドリーにおけるモバイルアプリ開発 / iOSDC Japan 2024 Sponsor Session
kubode
1
830
Jetpack ComposeのBottomSheetとの戦い / Fight with BottomSheet of Jetpack Compose
kubode
0
560
Mobile Chapterが目指すところと技術 / Vision and Technology of Mobile Chapter at Wantedly
kubode
0
320
ウォンテッドリーでのKMPワークフロー / KMP workflow at Wantedly
kubode
0
1.6k
ComposeでのShared Element Transition / Shared Element Transition in Compose
kubode
0
490
Other Decks in Programming
See All in Programming
Domain-Driven Transformation
hschwentner
2
1.9k
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
220
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
38
15k
一休.com のログイン体験を支える技術 〜Web Components x Vue.js 活用事例と最適化について〜
atsumim
0
540
昭和の職場からアジャイルの世界へ
kumagoro95
1
380
楽しく向き合う例外対応
okutsu
0
210
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
140
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
50
17k
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
110
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
0
220
dbt Pythonモデルで実現するSnowflake活用術
trsnium
0
180
ファインディの テックブログ爆誕までの軌跡
starfish719
2
1.1k
Featured
See All Featured
Side Projects
sachag
452
42k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Statistics for Hackers
jakevdp
797
220k
Embracing the Ebb and Flow
colly
84
4.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Designing for Performance
lara
604
68k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
Building an army of robots
kneath
303
45k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
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