Slide 1

Slide 1 text

,PUMJO.11ͱٔΕΔϊΫνϧ ΞΠϚεϋοΧιϯΦϯϥΠϯʂ ʹ͜͠Γ͞ͿΖʙ!TVCSPI@

Slide 2

Slide 2 text

,PUMJO.11ͱٔΕΔϊΫνϧ ΞΠϚεϋοΧιϯΦϯϥΠϯʂ ʹ͜͠Γ͞ͿΖʙ!TVCSPI@ ˞தͷਓʹΦϑΝʔΛग़͓ۚ͢ͱݖྗ͕ͳ͔ͬͨͨΊ ɹ$7ɾʹ͜͠Γ͞ͿΖʙͰ͓ૹΓ͠·͢

Slide 3

Slide 3 text

3 ……………… ✦ ✦

Slide 4

Slide 4 text

4 ……͋ʙͬʂɹখࢳͪΌΜɺ͍͍ͨͨʙʂ େมେมʙʙʙʂɹ՝୊ڭ͑ͯʙʙʙʂ ਽ࡊ ✦ ✦

Slide 5

Slide 5 text

5 খࢳ ✦ ✦ ……ͽΌ͊ʂʂʂɹͳɺͳΜͩɺ਽ࡊͪΌΜ͔……ɻ ͲɺͲ͏ͨ͠ͷʁɹύιίϯ࣋ͬͯΔͬͯ͜ͱ͸ɺ৘ใॲཧͷ՝୊ʁ

Slide 6

Slide 6 text

6 ͦ͏ͦ͏ɺ৘ใॲཧͷतۀɺͳΜ͔αϘΓ͗ͪ͢ΌͬͨΈ͍ͨͰʙɻ ΞϓϦ࡞Δ՝୊ɺ2ͭ΍Βͳ͍ͱ੺఺ʹͳͬͪΌ͏Μͩͬͯʙʙʙʂ ਽ࡊ ✦ ✦

Slide 7

Slide 7 text

7 ͑ͬ……͑͑ʙͬʂʂʂͦɺͦΕ͸େมʂʂʂ ୲౰ɺಉ͡ઌੜ͔ͩΒɺ࡞Βͳ͖Ό͍͚ͳ͍ͷ͸AndroidͱWebΞϓϦʁ খࢳ ✦ ✦

Slide 8

Slide 8 text

8 ͏ʙΜɺͦ͏ʂͦΕͰͶɺAndroidͷํ͸খࢳͪΌΜ͕ڭ͑ͯ͘Εͨɺ ͔Θ͍͍ʙὑݴޠͰॻ͍ͨΒɺྑ͍ײ͡ʙʙʙʹͰ͖ͨΜͩʙʂ ਽ࡊ ✦ ✦

Slide 9

Slide 9 text

9 ͔Θ͍͍ݴޠ……͜ɺKotlinͷ͜ͱʁɹ͢ɺ͍͢͝ɺ΋͏ͦΜͳʹॻ͚ΔΑ͏ʹͳͬͨͷʁ খࢳ ✦ ✦

Slide 10

Slide 10 text

10 ͚ͩͲͶʙɺWebͷํ͕શવ෼͔Βͳ͍ʂɹ͔ͩΒখࢳͪΌΜɺڭ͑ͯʙʙʙɻ ਽ࡊ ✦ ✦

Slide 11

Slide 11 text

11 ͏ɺ͏Μɺྑ͍͚Ͳ……ɻ਽ࡊͪΌΜɺͲ͕͜෼͔Βͳ͍ͷʁ Webͩͱɺ͡ΌɺJavascript͔ͳʁɹจ๏͕ɺ෼͔Βͳ͍ͱ͔ʁ খࢳ ✦ ✦

Slide 12

Slide 12 text

12 ͡Ό͹……͘͢Γ΀ͱʙʁɹ͑ʙʙʙɺ΋͔ͯ͠͠ɺ·ͨ৽͍͠ݴޠ֮͑ͳ͖Όͳͷʙʙʙʁ ΊΜͲ͘͞ʙ͍ʂɹ਽ࡊɺͥʙΜͿKotlinͰॻ͖ͨʙ͍ʂ ਽ࡊ ✦ ✦

Slide 13

Slide 13 text

13 ͦɺͦΜͳΘ͕··……ɻͩɺୈҰɺ਽ࡊͪΌΜ͕ͪΌΜͱतۀग़ͯΕ͹……ɻ খࢳ ✦ ✦

Slide 14

Slide 14 text

14 ͓ʔ͍ɺখࢳͪΌʔΜɻ ಁ ✦ ✦

Slide 15

Slide 15 text

15 ……ͽ͐͑͑͑ʂʂʂɹ……΋ɺ΋͏ʂɹಁͪΌΜʂɹ͓ɺ͓Ͳ͔͞ͳ͍ͰΑ……ʂ খࢳ ✦ ✦

Slide 16

Slide 16 text

16 ͝ΊΜ͝ΊΜɻͶɺͦΕΑΓ͞ɺ՝୊ɺॿ͚ͯɻ ಁ ✦ ✦

Slide 17

Slide 17 text

17 ……͑ɺ͑͑ʂʁɹͱɺಁͪΌΜ΋…ʁ খࢳ ✦ ✦

Slide 18

Slide 18 text

18 ͏Μɻͪΐͬͱɺςετɺ΍͹͔ͬͨɻ ิशͷ՝୊ͰɺWebͱεϚϗͷΞϓϦ࡞ΕͬͯݴΘΕͪΌͬͯ͞ɻ ಁ ✦ ✦

Slide 19

Slide 19 text

19 ՝୊ͷఏग़ظݶɺ໌೔͔ͩΒɻ͜Ε͸ؒʹ߹Θͳ͍ɺͬͯࢥͬͯɻ ͔ͩΒɺ͑ʔͬͱ……ɺͳΜͱ͔ͳΜͱ͔……Έ͍ͨͳͷͰόʔͬͱ΍Γ͍ͨɻ ಁ ✦ ✦

Slide 20

Slide 20 text

20 ͳɺͳΜͱ͔ͳΜͱ͔……͑ʔͬͱɺ͘ɺΫϩεϓϥοτϑΥʔϜɺͷ͜ͱ͔ͳ……ʁ খࢳ ✦ ✦

Slide 21

Slide 21 text

21 ͦ͏ɺͦΕͦΕɻ1ճॻ͍ͨΒɺWeb΋εϚϗ΋ζόʔϯͬͯͰ͖ͪΌ͏΍ͭɻ ಁ ✦ ✦

Slide 22

Slide 22 text

22 ͑ʙͳʹͦΕʙʙʙʂɹ͢͝ʙʙʙ͍ʂɹ͋͠Θͤʙὑͦ͏ʂ খࢳͪΌΜɺ਽ࡊ΋ΫϩεϓϥοτϑΥʔϜͱKotlinͰɺͣ͹ʙΜͱΞϓϦ࡞Γͨʙ͍ʂ ਽ࡊ ✦ ✦

Slide 23

Slide 23 text

23 ͽɺͽ͑……ɻͨɺ͔֬ʹɺ2ਓͱ΋࢒͞Εͨ࣌ؒ͸গ͚ͩ͠ɺͳΜͩΑͶ……ʁ ͦΕͳΒKotlin MultiplatformΛ࢖͑͹ɺͰɺͰ͖Δ͔΋…ʂ খࢳ ✦ ✦

Slide 24

Slide 24 text

24 ͑ʙʙʙɺͦΕͬͯKotlinͰॻ͚Δͷʙʙʙʂʁ ΍͸ʙʙʙʂɹ਽ࡊɺָ͘͠ͳ͖ͬͯͨʙʙʙʂ ਽ࡊ ✦ ✦

Slide 25

Slide 25 text

25 ΘɺΘͨ͠΋ͪΐͬͱ͔͠৮ͬͯͳ͍͔Βৄ͘͠͸෼͔Βͳ͍͚Ͳɺ ͰɺͰ΋3ਓ͍Ε͹ɺ͖ͬͱͰ͖ΔΑͶ……ʂ খࢳ ✦ ✦

Slide 26

Slide 26 text

26 ;;ɺͦ͏ͩͶɻ͜ͷ3ਓͳΒɺ՝୊ͳΜͯ͋ͬͱ͍͏ؒͰ͠ΐɻ ͦΕ͡Όɺ΍ͬͪΌ͓͏͔ɺ͍͍͓͑͑ʔɻ ಁ ✦ ✦

Slide 27

Slide 27 text

27 ͓ɺ͓ʔʂ ͓ʙʙʙʂ খࢳɾ਽ࡊ ✦ ✦

Slide 28

Slide 28 text

28 ✦ ✦

Slide 29

Slide 29 text

29 ;;ɺKotlin MultiplatformɺͳΜ΋Θ͔ΒΜɻ ಁ ✦ ✦

Slide 30

Slide 30 text

30 …… ԁ߳ ✦ ✦

Slide 31

Slide 31 text

31 ……Ͳ͏ͨ͠ͷɺ3ਓͱ΋ɻ ԁ߳ ✦ ✦

Slide 32

Slide 32 text

32 ……͋ɺ·ɺԁ߳ͪΌΜʂ ࠓɺKotlin MultiplatformͰ৘ใॲཧͷ՝୊΍ͬͯΔΜ͚ͩͲɺશવਐ·ͳͬͯ͘………ɻ খࢳ ✦ ✦

Slide 33

Slide 33 text

33 Kotlin Multiplatformʁɹ΢νͷ৘ใॲཧͰͦΜͳʹ೉͍͠՝୊ɺग़ΔΘ͚ͳ͍Ͱ͠ΐɻ ԁ߳ ✦ ✦

Slide 34

Slide 34 text

34 ͋ɺ͏͏Μɺ՝୊ͦͷ΋ͷ͸ɺΞϓϦ͕࡞ΕΕ͹OKͳΜͩɻ ͰɺͰ΋ɺಁͪΌΜͱ਽ࡊͪΌΜ͕……ɺͦͷɺޙ͕ͳ͍ঢ়گΒͯ͘͠……ɻ খࢳ ✦ ✦

Slide 35

Slide 35 text

35 Ṥޱʔɺ͚ͨͯ͢ʔɻ ಁ ✦ ✦

Slide 36

Slide 36 text

36 ……͸͊ɻ࢓ํͳ͍ΘͶɻ Kotlin MultiplatformͳΒɺଟগΘ͔Δɻૡ͍ఠΜͰઆ໌͢Δ͔ΒɺͦΕͰ͍͍ʁ ԁ߳ ✦ ✦ ❓

Slide 37

Slide 37 text

37 ͍ɺ͍͍ͷɺԁ߳ͪΌΜʂ খࢳ ✦ ✦

Slide 38

Slide 38 text

38 ؾʹ͠ͳ͍ͰɻόΠτ୅͸ɺͦ͜ʹస͕ͬͯΔઙ૔͔ΒΉ͠ΓऔΔ͔Βɻ ԁ߳ ✦ ✦

Slide 39

Slide 39 text

39 Kotlin Multiplatform͸ɺKotlin੡ͷX-PlatϑϨʔϜϫʔΫͷ͜ͱΛࢦ͢ͷɻ RN΍Xamarinͱେ͖͘ҟͳΔͷ͸ɺʮϩδοΫͷڞ௨ԽʯʹϑΥʔΧε͍ͯ͠Δͱ͜ΖͶɻ ͦͯ͠࠷ऴతͳ੒Ռ෺͸ɺJVM / Native / JSͷ؀ڥຖʹҟͳΔܗࣜͰग़ྗ͞ΕΔɺ͍͍ʁ ԁ߳ ✦ ✦ ,PUMJO.VMUJQMBUGPSN .11   ,PUMJO੡ͷ91MBUϑϨʔϜϫʔΫ  ʮϩδοΫͷڞ௨Խʯ΁ͷϑΥʔΧε͕ಛ௃  +7./BUJWF+4ίʔυͷग़ྗ͕Մೳ 3FGFSFODFLPUMJOMBOHPSHEPDTSFGFSFODFNVMUJQMBUGPSNIUNM +7.ग़ྗ +4ग़ྗ /BUJWFग़ྗ

Slide 40

Slide 40 text

40 ͸͍͸ʙ͍ʂɹ͡Ό͊͡Ό͊ʙɺݴޠʹґଘ͠ͳ͍ڞ௨ͷϩδοΫΛʮCommon Kotlinʯͷ ͱ͜Ζʹ͏·ʙ͘·ͱΊͯॻ͚Ε͹ʙɺࠓ·Ͱ3ճಉ͜͡ͱΛॻ͍ͯͨͷ͕ͨͬͨ1ճʹऩ·ͬͯ ͋͠ΘͤʙὑʹͳΔͬͯ͜ͱʙʙʙʁ ਽ࡊ ✦ ✦ ,PUMJO.VMUJQMBUGPSN .11   ,PUMJO੡ͷ91MBUϑϨʔϜϫʔΫ  ʮϩδοΫͷڞ௨Խʯ΁ͷϑΥʔΧε͕ಛ௃  +7./BUJWF+4ίʔυͷग़ྗ͕Մೳ 3FGFSFODFLPUMJOMBOHPSHEPDTSFGFSFODFNVMUJQMBUGPSNIUNM +7.ग़ྗ +4ग़ྗ /BUJWFग़ྗ

Slide 41

Slide 41 text

41 ͦΜͳͱ͜ΖɻҿΈࠐΈ͕ૣ͍ΘͶɺ਽ࡊɻ ͜ͷʮڞ௨෦෼ʯΛͰ͖Δ͚ͩCommon Kotlinʹ·ͱΊɺʮϓϥοτϑΥʔϜຖʹҧ͏෦෼ʯΛ Ͱ͖ΔݶΓγϯϓϧʹ࣮૷͢Δɻ͜Ε͕Kotlin MPPͷجຊతͳ࣮૷ํ਑ʹͳΔͷɻ ԁ߳ ✦ ✦ ,PUMJO.VMUJQMBUGPSN .11   ,PUMJO੡ͷ91MBUϑϨʔϜϫʔΫ  ʮϩδοΫͷڞ௨Խʯ΁ͷϑΥʔΧε͕ಛ௃  +7./BUJWF+4ίʔυͷग़ྗ͕Մೳ 3FGFSFODFLPUMJOMBOHPSHEPDTSFGFSFODFNVMUJQMBUGPSNIUNM +7.ग़ྗ +4ग़ྗ /BUJWFग़ྗ

Slide 42

Slide 42 text

42 ࣮ࡍͷKotlin MPPϓϩδΣΫτͷσΟϨΫτϦߏ੒͸͜Μͳײ͡ɻUIͷߏங͸ɺ ֤ܿ͘ϓϥοτϑΥʔϜຖͷ࣮૷ʹ೚ͤΔͷ͕Kotlin MPPɻ͔ͩΒandroid / ios / jsϞδϡʔϧΛ ༻ҙͯ͠ɺUIʹؔ܎͢ΔϓϥοτϑΥʔϜݻ༗ͷίʔυΛ·ͱΊΔඞཁ͕͋Δͷɻ ԁ߳ ✦ ✦ σΟϨΫτϦߏ੒ ᶃBOESPJE ᶄJPT ᶅKT ᶃ ᶄ ᶅ ˞ԼઢͷϑΝΠϧ͕ ϓϥοτϑΥʔϜຖͷϝΠϯը໘

Slide 43

Slide 43 text

43 ϓϥοτϑΥʔϜʹґଘͤͣɺڞ௨ԽͰ͖ΔίʔυΛஔ͘ͷ͸͜ͷϞδϡʔϧɻ Ϟδϡʔϧ໊͸ʮsharedʯ΍ʮcommonsʯͱͯ͠؅ཧ͢Δ͜ͱ͕ଟ͍ΘͶɻ σʔλΫϥεͷએݴ΍ۀ຿ϩδοΫɺAPIαʔόʔ΁ͷϦΫΤετ΋·ͱΊΔ͜ͱ͕Ͱ͖ΔΘɻ ԁ߳ ✦ ✦ σΟϨΫτϦߏ੒ ˞TIBSFEʹͨ͘͞Μ ·ͱΊͨϓϩδΣΫτྫ BQJ"1*$MJFOUΛఆٛ EC୺຤಺%#PS-PDBM$BDIFͷ$MJFOUΛఆٛ RVFSZ41"32-ΫΤϦͷఆٛ SFQPTJUPSZϞσϧຖʹ$36%ϝιουΛఆٛ NPEFMσʔλΫϥεͷએݴ QSFTFOUBUJPO6*ϩδοΫͷ࣮૷ VUJMJUJFTศརؔ਺܈

Slide 44

Slide 44 text

44 ͰɺsharedϞδϡʔϧҎԼͷߏ੒͸͜͏ɻ ԁ߳ ✦ ✦

Slide 45

Slide 45 text

45 ͋……ɺ΋ɺ΋͔ͯ͠͠ɺ͜ͷσΟϨΫτϦߏ੒͕ɺ͖ͬ͞ͷಉ৺ԁͷਤͱରԠ͍ͯ͠Δͷʁ commonMainͷԼʹڞ௨ͷϩδοΫΛॻ͍ͯɺͲ͏ͯ͠΋ϓϥοτϑΥʔϜґଘͷίʔυΛ ॻ͔ͳ͖Ό͍͚ͳ͍࣌͸ɺandroidMain΍iosMainʹॻ͍͍͚ͯ͹ɺ͍͍ͷ͔ͳ……ʁ খࢳ ✦ ✦ +7.ग़ྗ +4ग़ྗ /BUJWFग़ྗ ڞ௨ͷϩδοΫ "OESPJEʹґଘ͢Δίʔυ J04ʹґଘ͢Δίʔυ +4ʹґଘ͢Δίʔυ

Slide 46

Slide 46 text

46 ͦͷ௨ΓΑɺখࢳɻ ͲͷϓϥοτϑΥʔϜͰ΋ڞ௨ͷϩδοΫΛ࣮૷͍ͨ͠ͳΒɺࢥͬͨ௨ΓͷίʔυΛKotlinͰ ͦͷ··commonMainҎԼʹ࣮૷͢Ε͹ऴΘΓɻGradle͕ྑ͍ײ͡ʹ੒Ռ෺Λग़ͯ͘͠ΕΔɻ ԁ߳ ✦ ✦ // จࣈΛग़ྗ͢Δϝιου class Greeting { fun greeting() = "Hello!" } // on Android val tv: TextView = findViewById(R.id.text_view) tv.text = Greeting().greeting() // on JS(Kotlin/JS) render(document.getElementById("root")) { h3 { +Greeting().greeting() } } // on iOS(SwiftUI) var body: some View { Text(Greeting().greeting()) } ˞֤ϓϥοτϑΥʔϜͷ)FMMP 8PSME

Slide 47

Slide 47 text

47 ҰํͰɺྫ͑͹ϩάग़ྗΈ͍ͨʹɺϓϥοτϑΥʔϜຖʹҧ͏࣮૷͕ෆՄܽͷ৔߹΋͋Δɻ ͦͷ࣌͸ɺ·ͣcommonMainʹexpectम০ࢠΛ͚ͭͯΫϥε / ϝιουΛఆٛ͢Δͷɻ ֤ϓϥοτϑΥʔϜʹ޲͚ͯɺΫϥε / ϝιουͷ"ଘࡏ"Λఆٛ͢ΔΠϝʔδͶɻ ԁ߳ ✦ ✦ // จࣈΛग़ྗ͢Δϝιου expect object Log { fun debug(message: String) } FYQFDUम০ࢠ ˠϝιουͷத਎͸ϓϥοτϑΥʔϜຖʹ ɹ࣮૷͢ΔͷͰ͜͜Ͱ͸ۭ

Slide 48

Slide 48 text

48 actual object Log { actual fun debug(message: String) { android.util.Log.d("debug", message) } } actual object Log { actual fun debug(message: String) { println("debug: $message") } } actual object Log { actual fun debug(message: String) { console.log("debug: $message") } } ͦͯ͠ɺandroidMain΍iosMainͰΫϥε / ϝιουͷத਎Λ࣮૷͢Δɻ actualम০ࢠΛઌ಄ʹ͚ͭΔ͜ͱͰɺexpectͳΫϥε / ϝιουͱରԠ͚͕ͮͰ͖ΔɺͦΜͳײ͡ɻ ԁ߳ ✦ ✦ BDUVBMम০ࢠ

Slide 49

Slide 49 text

49 ͜͜·Ͱͬ͘͟ΓίʔυΛݟ͚ͤͨͲɺಈ࡞֬ೝલʹΑ͘ϋϚΔͷ͕ɺϏϧυεΫϦϓτपΓɻ ͔ͩΒॳΊͯ৮Δ࣌͸ɺKotlin Multiplatform MobileΛ࢖͏ͱָͶɻ υΩϡϝϯτ΋ॆ࣮͍ͯ͠Δ͠ɺҰ౓ಡΜͰ͓͘ͱ͢ΜͳΓਐΉΜ͡Όͳ͍ʁ ԁ߳ ✦ ✦ ,PUMJO.VMUJQMBUGPSN.PCJMF ,..   ,PUMJO.11ͰͷϞόΠϧ։ൃΛָʹ͢Δ1MVHJO  "OESPJE4UVEJP 9DPEFҎ߱  ͜ͷࢿྉͷαϯϓϧίʔυ࡞੒ʹ΋׆༻ ϦϯΫIUUQTLPUMJOMBOHPSHMQNPCJMF

Slide 50

Slide 50 text

50 50 ΁͑ɺͳΜ͔ͦ͢͝͏ɻ Ͷ͐ɺKotlin MPPͬͯ͞ɺͲ͜·Ͱڞ௨ԽͰ͖ΔΜͩΖ͏Ͷɻ ಁ ✦ ✦ ,PUMJO.VMUJQMBUGPSN.PCJMF ,..   ,PUMJO.11ͰͷϞόΠϧ։ൃΛָʹ͢Δ1MVHJO  "OESPJE4UVEJP 9DPEFҎ߱  ͜ͷࢿྉͷαϯϓϧίʔυ࡞੒ʹ΋׆༻ ϦϯΫIUUQTLPUMJOMBOHPSHMQNPCJMF

Slide 51

Slide 51 text

51 ฉ͍ͨ͜ͱ͕͋ΔͷͳΒɺʮ֎՟ܭࢉʯ΍ʮ੫ֹܭࢉʯͷڞ௨Խɻ খ͞ͳζϨ΋ڐ͞Εͳ͍ػೳ͔ͩΒಋೖޮՌ΋ߴ͍͠ɺͳ͓͔ͭඇಉظॲཧ΋հࡏ͠ͳ͍͔Βɺ ݱߦͷKotlin MPPͰ΋҆৺ͯ͠ར༻Ͱ͖ΔྖҬͱݴ͑ΔͰ͠ΐ͏Ͷɻ ԁ߳ ✦ ✦

Slide 52

Slide 52 text

52 ͦΕ͔Βɺ࠷ۙ͸HttpΫϥΠΞϯτͷKtor΍JSONγϦΞϥΠβͷkotlinx.serializationɺ ඇಉظॲཧΛѻ͏Coroutines΋Kotlin MPPʹରԠ͍ͯ͠Δ͠ɺࣄྫ͕গͳ͍͚ͩͰ ڞ௨ԽͰ͖Δൣғ͸͔ͳΓ޿͍Μ͡Όͳ͍ʁɹ஌Βͳ͍͚Ͳɻ ԁ߳ ✦ ✦ ,PUMJO.11ରԠͷϥΠϒϥϦ  ,UPS)UUQΫϥΠΞϯτɻ+FU#SBJOT੡ɻ  LPUMJOYTFSJBMJ[BUJPO+40/γϦΞϥΠβσγϦΞϥΠβɻ+FU#SBJOT੡ɻ  ,PUMJO$PSPVUJOFTඇಉظॲཧΠΠײ͡ʹ͢Δɻ+FU#SBJOT੡ɻ  LPJO,PEFJOґଘੑ஫ೖ %* ϥΠϒϥϦɻ  ,PUFTUϢχοτςετϑϨʔϜϫʔΫɻ

Slide 53

Slide 53 text

53 ઌिݟͨLTձͰ͸ɺMVVMΞʔΩςΫνϟͷViewModelɺͭ·ΓUIϩδοΫ·Ͱڞ௨Խͨ͠ɺ ͳΜͯ࿩Λϓϩσϡʔαʔ͕͍͚ͯͨ͠Ͳɺ޿·Δʹ͸͕͔͔࣌ؒΓͦ͏Ͷɻ ԁ߳ ✦ ✦ ࢿྉIUUQTTQFBLFSEFDLDPNTVCSPIKFUQBDLDPNQPTFEFHBO[JUBTJBXBTFOBUPLPSP

Slide 54

Slide 54 text

54 ͯ͞ɺઆ໌͸͜ΕͰऴΘΓɻͲ͏ʁɹͰ͖ͦ͏ʁ ԁ߳ ✦ ✦

Slide 55

Slide 55 text

55 ΍͸ʙʙʙὑɹԁ߳ઌഐɺઆ໌Θ͔Γ΍͢ʙ͍ʂ ͜ΕͩͬͨΒɺ՝୊΋શ෦ɺԁ߳ઌഐʹ͓ئ͍ͨ͠ํ͕ૣͦ͏ʙʙʙʂʂʂ ਽ࡊ ✦ ✦

Slide 56

Slide 56 text

56 צหͯ͠……ɻখࢳɺޙ͸པΜͩɻ ԁ߳ ✦ ✦

Slide 57

Slide 57 text

57 ͽΌͬʂʂʂɹ……͋ɺ͋Γ͕ͱ͏ɺԁ߳ͪΌΜʂ ͲɺͲ͏……ʁɹਐΊΒΕͦ͏ɺಁͪΌΜ……ʁ খࢳ ✦ ✦

Slide 58

Slide 58 text

58 ;;;ɺେৎ෉ɺ΋͏׬ᘳɻ Kotlin Multiplatformɺ׬શʹཧղͨ͠ɻ ಁ ✦ ✦

Slide 59

Slide 59 text

59 …… খࢳ ✦ ✦

Slide 60

Slide 60 text

60 …… ԁ߳ ✦ ✦

Slide 61

Slide 61 text

61 ……͸͊ɻख఻͏ɻઙ૔ɺ՝୊Έͤͯɻ ԁ߳ ✦ ✦

Slide 62

Slide 62 text

62 ͑ʙʙʙͣΔ͍ʙʙʙʂɹ਽ࡊ΋ಁઌഐʹڭ͑Δʙʙʙʂʂʂ ਽ࡊ ✦ ✦

Slide 63

Slide 63 text

63 ……ͭͮ͘(?) ✦ ✦

Slide 64

Slide 64 text

,PUMJO.11ͱٔΕΔϊΫνϧ ΞΠϚεϋοΧιϯΦϯϥΠϯʂ ʹ͜͠Γ͞ͿΖʙ!TVCSPI@ )BWFBOJDF,PUMJO