Upgrade to Pro — share decks privately, control downloads, hide ads and more …

KMMの導入と得られるもの / Introduction of KMM and its benefits

KMMの導入と得られるもの / Introduction of KMM and its benefits

E505897a79eede1a676f92740261e8f8?s=128

Masatoshi Kubode

April 06, 2021
Tweet

Transcript

  1. ©2021 Wantedly, Inc. ,..ͷಋೖͱಘΒΕΔ΋ͷ ,..ͱ͸ʁಋೖͷಓͷΓɺԿ͕ಘΒΕΔͷ͔ ,..ษڧձ8BOUFEMZºνʔϜϥϘ 2021/04/06 - Masatoshi Kubode

  2. ©2021 Wantedly, Inc. XXXXBOUFEMZDPNJELVCPEF

  3. ©2021 Wantedly, Inc. ࠓ೔ͷൃදͷ໨త

  4. ϖʔδλΠτϧ ϖʔδαϒλΠτϧ ©2021 Wantedly, Inc. ,..ͷັྗΛ఻͑ͯ ಋೖͷྐʹͯ͠΋Β͏

  5. ©2021 Wantedly, Inc. "HFOEB

  6. ©2021 Wantedly, Inc.  ,..ͱ͸ͳʹ͔ʁ  ,..ͷಛ௃  ಋೖ·ͰͷಓͷΓ 

    ಋೖͯ͠ײͨ͡1SPT$POT "HFOEB
  7. ©2021 Wantedly, Inc. ,..ͱ͸ͳʹ͔ʁ

  8. ©2021 Wantedly, Inc. w ,PUMJO.VMUJQMBUGPSN.PCJMF ,..  w J04ͱ"OESPJEͷϏδωεϩδοΫΛ୯ҰͷίʔυϕʔεͰڞ௨Խ͢ΔϞόΠϧ4%, w

    6*͸ڞ௨Խͤͣɺ֤ϓϥοτϑΥʔϜͰ࣮૷ ,..ͱ͸ʁ https://kotlinlang.org/lp/mobile/
  9. ©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
  10. ©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 2020೥8݄ Kotlin 1.4 Kotlin Multiplatform Alpha Kotlin Multiplatform Mobile (KMM)
  11. ©2021 Wantedly, Inc. w ೥ʹϦϦʔε w 8SJUFPODF SVOBOZXIFSF͕εϩʔΨϯ w +7.͕ͳ͍ͱಈ͔ͳ͍

    w ͭ·ΓJ04ͳͲͰ͸ಈ͔ͳ͍ +BWB
  12. ©2021 Wantedly, Inc. w +7.ͱ"OESPJEͷϓϩάϥϛϯάݴޠ w +BWBDPNQBUJCJMJUZ ,PUMJO

  13. ©2021 Wantedly, Inc. w +BWB4DSJQU4VQQPSU w ·ͩίʔυڞ௨Խͷ࢓૊Έ͸ͳ͍ w ޙʹ"OESPJEͷୈҰڃݴޠʹ ,PUMJO

  14. ©2021 Wantedly, Inc. w ,PUMJO.VMUJQMBUGPSN &YQFSJNFOUBM  w $PNNPOͱ͍͏֓೦͕Ͱ͖Δ ,PUMJO

  15. ©2021 Wantedly, Inc. w ,PUMJO/BUJWF w J04 w 8JOEPXT w

    -JOVY w FUD w 8SJUFPODF SVOBOZXIFSF ,PUMJO
  16. ©2021 Wantedly, Inc. w ,PUMJO.VMUJQMBUGPSN"MQIB w ,PUMJO.VMUJQMBUGPSN.PCJMF ,.. ,PUMJO Android

    iOS ☝Kotlin Multiplatform Mobile (KMM)
  17. ©2021 Wantedly, Inc. ,..ͷಛ௃

  18. ©2021 Wantedly, Inc. w 6*͸ڞ௨Խ͠ͳ͍ w ϓϥοτϑΥʔϜʹ࠷దͳܗ w ϓϥοτϑΥʔϜݻ༗ͷ"1*΋࢖͑Δ ,..ͷಛ௃

  19. ϖʔδλΠτϧ ϖʔδαϒλΠτϧ ©2021 Wantedly, Inc. 6*͸ڞ௨Խ͠ͳ͍

  20. ©2021 Wantedly, Inc. ,..͸ϏδωεϩδοΫΛڞ௨Խ͢Δ ,..͸࠷దͳ69͸ϓϥοτϑΥʔϜʹωΠςΟϒͳ ΋ͷͰ͋Δ΂͖ͱߟ͍͑ͯΔɻ ͳͷͰ,..Ͱͷڞ௨Խ͸ਪ঑͠ͳ͍ɻ 6*͸ڞ௨Խ͠ͳ͍

  21. ©2021 Wantedly, Inc. 6*͸ڞ௨Խ͠ͳ͍ طଘϓϩμΫτ΁ͷಋೖͰ͸ղ͘΂͖՝୊͕ݮΔ

  22. ©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
  23. ϖʔδλΠτϧ ϖʔδαϒλΠτϧ ©2021 Wantedly, Inc. ϓϥοτϑΥʔϜʹ࠷దͳܗ

  24. ©2021 Wantedly, Inc. ΤίγεςϜʹແཧͳ͘౷߹ w J04 w GSBNFXPSL w $PDPB1PET

    w "OESPJE w BBS w KBS w (SBEMFTVCNPEVMF ϓϥοτϑΥʔϜʹ࠷దͳܗ ґଘੑ
  25. ©2021 Wantedly, Inc. ϓϥοτϑΥʔϜʹ࠷దԽ͞ΕͨόΠφϦ ϓϥοτϑΥʔϜʹ࠷దͳܗ Φʔόʔϔουͷগͳ͞

  26. ϖʔδλΠτϧ ϖʔδαϒλΠτϧ ©2021 Wantedly, Inc. ϓϥοτϑΥʔϜݻ༗ͷ"1*΋࢖͑Δ

  27. ©2021 Wantedly, Inc. ,..಺Ͱ௚઀ϓϥοτϑΥʔϜݻ༗"1*Λ࢖͑Δ ϓϥοτϑΥʔϜݻ༗ͷ"1*΋࢖͑Δ FYQFDUBDUVBM https://kotlinlang.org/docs/mobile/connect-to-platform-specific-apis.html

  28. ©2021 Wantedly, Inc. ಋೖ·ͰͷಓͷΓ

  29. ©2021 Wantedly, Inc. νʔϜͷཧղ ,..ͷυΩϡϝϯτʹΨΠυϥΠϯ͕͋Δ͘Β͍ॏཁ w ϓϩδΣΫτͰಇ͘ਓʑΛཧղ͢Δ͜ͱ͕ɺ౷߹Λ੒ޭͤ͞ΔͨΊͷୈҰา w ্͔࢘Βͨ͠Β৽͍ٕ͠ज़ಋೖ͸ϦεΫ w

    J04ΤϯδχΞ͔Βͨ͠Βࠓ·ͰͱҟͳΔ؀ڥ w ,..͕Ͳ͏΍ͬͯಈ͍͍ͯΔͷ͔Λઆ໌ w ,..ͷՁ஋Λײͯ͡΋Β͏ ಋೖ΁ͷಓͷΓ https://kotlinlang.org/docs/mobile/introduce-your-team-to-kmm.html
  30. ©2021 Wantedly, Inc. ,..͸࠷దͳखஈ͔ ϓϩμΫτͷϑΣʔζ΍νʔϜʹ߹ΘͤΔ w ҆ఆ͖ͯͨ͠ϓϩμΫτͰ͸ڪΒ͘࠷ద w Ծઆݕূஈ֊Ͱ͸ద੾ͱ͸ݴ͍ʹ͍͘ w

    J04"OESPJEͰϦϦʔεαΠΫϧ͕ҧ͏ w ϏδωεϩδοΫ΋ߴ଎ͰมΘΔ w 'MVUUFS΍3FBDU/BUJWFͷ΄͏͕ߴ଎ w ϑϧϦχϡʔΞϧ༧ఆͳΒʁ w νʔϜͰ߹ҙΛͱͬͯ࠷దͳ΋ͷΛબͿ ಋೖ΁ͷಓͷΓ
  31. ©2021 Wantedly, Inc. J04"OESPJE྆ํͰ͖Δ w τϥϒϧγϡʔςΟϯά w ؀ڥߏங΍πʔϧνΣΠϯ w ͍ͳ͔ͬͨΒɺͳΓ·͠ΐ͏

    ಋೖ΁ͷಓͷΓ
  32. ©2021 Wantedly, Inc. ݕূ w J04"OESPJE྆ํͰݕূ͕ඞਢ w J04ʹ͓͚ΔϝϞϦϚωδϝϯτϞσϧͷҧ͍ w J04ͷ0CKFDUJWF$4XJGUޓ׵ੑͷ੍ݶ

    w ΠϯλʔϑΣʔε͔ΒδΣωϦΫεফࣦ w ௚઀ݺΜͩTVTQFOEͷΩϟϯηϧ͕Ͱ͖ͳ͍ w J04ΤϯδχΞͱҰॹʹݕূ͢Δ w 1P$΍ϓϩτλΠϓΛ࡞ͬͯখ͘͞ߴ଎ʹݕূ ಋೖ΁ͷಓͷΓ
  33. ©2021 Wantedly, Inc. ,B.1,JU ಋೖ΁ͷಓͷΓ https://github.com/touchlab/KaMPKit ,..ͷධՁΛ༰қʹ͢ΔελʔλʔΩοτ

  34. ©2021 Wantedly, Inc. ಋೖࣄྫ ಋೖ΁ͷಓͷΓ https://kotlinlang.org/lp/mobile/case-studies/

  35. ©2021 Wantedly, Inc. ಋೖͯ͠ײͨ͡1SPT$POT

  36. ©2021 Wantedly, Inc. w ௕ظతͳੜ࢈ੑ͸վળ͢Δ w ωΠςΟϒͷ6*69ΛఏڙͰ͖Δ w ΤϥʔϋϯυϦϯά΍ΩϟογϡͷڍಈͳͲɺඍົͳҧ͍΋ݮΔ w

    ޙ௥͍࣮૷͢ΔϓϥοτϑΥʔϜ͸ɺຊ౰ʹ6*࣮૷͚ͩͰࡁΉ w ωΠςΟϒͱͷڥքʹͳΔ,..ϨΠϠʔͷ࢓༷ܾ͑͞ΊΕ͹ɺ,..ͱωΠςΟϒͷ࣮૷͕ ͋Δఔ౓ฒྻԽͰ͖Δ w ,..ʹ͸6*͕ͳ͍ͷͰɺඞવతʹςετΧόϨοδ͕ߴ͘ͳΔ 1SPT
  37. ©2021 Wantedly, Inc. w "MQIBͱ͍͏εςʔλεɺϦεΫΛෛ͏͜ͱ w 8SJUFPODF UFTUFWFSZXIFSF w J04ΤϯδχΞͷֶशίετ͕ߴ͍

    w J04ͷ0CKFDUJWF$4XJGUޓ׵ੑ͕Ұ෦ඍົ $POT
  38. ©2021 Wantedly, Inc. ·ͱΊ

  39. ©2021 Wantedly, Inc. w ࠷దͳ6*69ͷఏڙͱڞ௨Խͷཱ͕྆Ͱ͖Δ w طଘϓϩμΫτΛڞ௨Խ͢Δʹ͸࠷ద ·ͱΊ

  40. ϖʔδλΠτϧ ϖʔδαϒλΠτϧ ©2021 Wantedly, Inc. 🙇