$30 off During Our Annual Pro Sale. View Details »

KotlinとJavaの相互運用

tommykw
July 12, 2017
3.2k

 KotlinとJavaの相互運用

tommykw

July 12, 2017
Tweet

Transcript

  1. Ո଒ͷຖ೔Λ΋ͬͱসإʹɻ
    ,PUMJOͱ+BWBͷ૬ޓӡ༻
    ίωώτגࣜձࣾ

    View Slide

  2. ෋ా݈ೋ
    !UPNNZLX
    !UPNNZLX
    ίωώτגࣜձࣾ"OESPJE&OHJOFFS
    ϓϩϑΟʔϧ

    View Slide

  3. ࿩͢಺༰
    w ϚϚϦͷ,PUMJOಋೖ
    w ,PUMJOͱ+BWBͷ૬ޓӡ༻
    w ࠷ޙʹ

    View Slide

  4. Ո଒ͷຖ೔Λ΋ͬͱসإʹɻ
    ϚϚϦͷ,PUMJOಋೖ
    ίωώτגࣜձࣾ

    View Slide

  5. ϚϚϦ2

    View Slide

  6. ϚϚϦ2

    View Slide

  7. ϚϚϦ2

    View Slide

  8. ,PUMJOಋೖ
    w +BWBͩͱ৑௕ɺෳࡶʹͳΔίʔυ΋͖ͬ͢ΓՄಡੑ্͕͕Δ
    w 4XJGU࢖͍ͷJ04ΤϯδχΞʹ΋ͳ͡Έ΍͍͢จ๏
    w +BWBͷ/VMM1PJOUFS&YDFQUJPOΛۦஞͰ͖Δ
    w σϝϦοτ͕গͳ͔ͬͨ
    ͳͥ,PUMJOΛಋೖͨ͠ͷ͔

    View Slide

  9. ,PUMJOಋೖ
    w ແཧʹ,PUMJOԽ͸͠ͳ͍
    w ϦϑΝΫλϦϯά΍৽ػೳΛ࣮૷͢Δࡍʹ,PUMJOԽΛ͢Δ
    w ςετ͸,PUMJOͰॻ͍ͯΈΔ
    ,PUMJOಋೖํ਑

    View Slide

  10. ,PUMJOಋೖ
    w ݄͔Βελʔτͯ͠ಋೖ׬ྃ
    w ׂ͘Β͍ίʔυߦ਺͕ݮͬͨ
    w ؆ܿʹهड़Ͱ͖ΔΑ͏ʹͳͬͨ
    w ϒϩάΛ௨ͯ͡ೝ஌౓্͕͕ͬͨ
    ,PUMJOಋೖ݁Ռ

    View Slide

  11. Ո଒ͷຖ೔Λ΋ͬͱসإʹɻ
    ,PUMJOͱ+BWBͷ૬ޓӡ༻
    ίωώτגࣜձࣾ

    View Slide

  12. ,PUMJOͱ+BWBͷ૬ޓӡ༻
    w 1MBUGPSN5ZQF
    w .BQQFE5ZQF
    w σϑΥϧτpOBMDMBTT
    w ݕࠪྫ֎
    w υΩϡϝϯτ
    ,PUMJOͱ+BWBͷ૬ޓӡ༻

    View Slide

  13. Ո଒ͷຖ೔Λ΋ͬͱসإʹɻ
    1MBUGPSN5ZQF
    ίωώτגࣜձࣾ

    View Slide

  14. 1MBUGPSN5ZQF
    w 5Λද͢
    w /VMM҆શͱݴΘΕ͍ͯΔ͕ɺ+BWBͱ,PUMJOͷ৔߹͸আ͘
    w /VMM1PJOUFS&YDFQUJPOɺ*MMFHBM4UBUF&YDFQUJPO͕ൃੜ͠Ϋϥογϡ͢Δ
    w +BWBͰΞϊςʔγϣϯΛఆٛ
    1MBUGPSN5ZQFʹ͍ͭͯ

    View Slide

  15. 1MBUGPSN5ZQF
    Ϋϥογϡ͢Δέʔε

    View Slide

  16. 1MBUGPSN5ZQF
    Ϋϥογϡ͢Δέʔε

    View Slide

  17. 1MBUGPSN5ZQF
    !/VMMBCMFΛ໌ࣔతʹఆٛ

    View Slide

  18. 1MBUGPSN5ZQF
    !/VMMBCMFΛ໌ࣔతʹఆٛ

    View Slide

  19. 1MBUGPSN5ZQF
    w +BWBଆͰ!/VMMBCMFͱ!/PO/VMMΛఆٛ͢Δ
    w ڥքΛҙࣝ͢Δ
    w ؆୯ʹΫϥογϡͯ͠͠·͏ͷͰ஫ҙ͢Δ
    w έʔε͸Θ͔Βͳ͍͕Ұ෦*%&"ͰܯࠂΛදࣔ͢Δ
    1MBUGPSN5ZQF·ͱΊ

    View Slide

  20. Ո଒ͷຖ೔Λ΋ͬͱসإʹɻ
    .BQQFE5ZQF
    ίωώτגࣜձࣾ

    View Slide

  21. .BQQFEUZQF
    w ,PUMJOͱ+BWBͷͦΕͧΕͷܕϚοϐϯά
    w 1MBUGPSN5ZQFɺOVMMBCMFɺ,PUMJOݻ༗ͷܕʹϚοϐϯά
    w .BQQFE5ZQFͱ1MBUGPSN5ZQFͷ࿩3ZPUB.VSPIPTIJ͞Μͷهࣄ͕ͱͯ΋ࢀߟʹͳΔ
    .BQQFE5ZQFʹ͍ͭͯ

    View Slide

  22. .BQQFEUZQF
    .BQQFE5ZQF

    View Slide

  23. .BQQFEUZQF
    .BQQFE5ZQF

    View Slide

  24. .BQQFEUZQF
    .BQQFE5ZQF

    View Slide

  25. .BQQFEUZQF
    w ,PUMJOͰ͸+BWBͷܕΛಛผʹѻ͏
    w !/VMMBCMFɺ!/PU/VMMΛ࢖͏
    w 1MBUGPSN5ZQFΛ೦಄ʹஔ͖ͭͭ.BQQFE5ZQFΛҙࣝ͢Δ
    .BQQFE5ZQF·ͱΊ

    View Slide

  26. Ո଒ͷຖ೔Λ΋ͬͱসإʹɻ
    σϑΥϧτpOBMDMBTT
    ίωώτגࣜձࣾ

    View Slide

  27. σϑΥϧτpOBMDMBTT
    w ,PUMJOͷΫϥε͸σϑΥϧτpOBM
    w +BWBͱ͸ҟͳΓɺܧঝ͢Δ৔߹ʹPQFOΛ͚ͭΔ
    w Ұ෦࢖͑ͳ͍ϥΠϒϥϦ͕͋Δ
    w 3FBMNɺ.PDLJUPɺ4QSJOHͳͲ
    σϑΥϧτpOBMDMBTTʹ͍ͭͯ

    View Slide

  28. σϑΥϧτpOBMDMBTT
    3FBMN

    View Slide

  29. σϑΥϧτpOBMDMBTT
    3FBMN

    View Slide

  30. σϑΥϧτpOBMDMBTT
    w NPDLJUPWFSTJPO͸LPUMJOBMMPQFOΛ࢖͏
    w NPDLJUPWFSTJPO͔ΒJOMJOFNPDLNBLFSΛ༗ޮʹ͢Δ
    .PDLJUP

    View Slide

  31. σϑΥϧτpOBMDMBTT
    .PDLJUP

    View Slide

  32. σϑΥϧτpOBMDMBTT
    .PDLJUP

    View Slide

  33. σϑΥϧτpOBMDMBTT
    w ඞཁͰ͋Ε͹దٓPQFOΛ͚͍ͭͯ͘
    w LPUMJOBMMPQFOPQFOΛ෇༩ͯ͘͠ΕΔϓϥάΠϯΛ࢖͏
    σϑΥϧτpOBMDMBTT·ͱΊ

    View Slide

  34. Ո଒ͷຖ೔Λ΋ͬͱসإʹɻ
    ݕࠪྫ֎
    ίωώτגࣜձࣾ

    View Slide

  35. ݕࠪྫ֎
    w ,PUMJOଆͰ!5ISPXTΛఆٛ͢Δ
    w *%&"ͰܯࠂΛදࣔ͠ɺΫΠοΫϑΟοΫε͕Ͱ͖Δ
    w +BWB͔Β,PUMJOͰ͸ΫΠοΫϑΟοΫε͕ޮ͔ͳ͍
    ݕࠪྫ֎ʹ͍ͭͯ

    View Slide

  36. ݕࠪྫ֎
    ,PUMJO+BWB

    View Slide

  37. ݕࠪྫ֎
    ,PUMJO+BWB

    View Slide

  38. ݕࠪྫ֎
    ,PUMJO+BWB

    View Slide

  39. ݕࠪྫ֎
    +BWB,PUMJO

    View Slide

  40. ݕࠪྫ֎
    +BWB,PUMJO

    View Slide

  41. ݕࠪྫ֎
    w ,PUMJOଆͰ!5ISPXTΛఆٛ͢Δ
    w +BWB͔Β,PUMJOΛݺͼग़࣌͢ʹྑ͍ํ๏͸ͳ͍ͩΖ͏͔
    w ڥքઢΛҙࣝ͢Δ
    ݕࠪྫ֎·ͱΊ

    View Slide

  42. Ո଒ͷຖ೔Λ΋ͬͱসإʹɻ
    υΩϡϝϯτ
    ίωώτגࣜձࣾ

    View Slide

  43. υΩϡϝϯτ
    w ίϝϯτͷॻ͕ࣜ౷ҰͰ͖Δ
    w ίϝϯτ͕·ͱ·͍ͬͯͯίʔυ͕ಡΈ΍͍͢
    w ίϝϯτॻ͘͜ͱʹΑͬͯಡΈ΍͍͢ίʔυΛҙࣝͰ͖Δ
    w υΩϡϝϯτΛੜ੒Ͱ͖Δ
    υΩϡϝϯτʹ͍ͭͯ

    View Slide

  44. υΩϡϝϯτ
    w +BWBͷ+BWBEPDʹ૬౰͢Δ
    w ϚʔΫμ΢ϯه๏
    w +BWBEPDͱ͸ඍົʹهड़ํ๏͕ҟͳΔ
    w λάͷछྨ΋ҧ͏
    ,%PD

    View Slide

  45. υΩϡϝϯτ
    w +BWBEPDͱಉ͡ػೳΛ࣋ͭυΩϡϝϯτΤϯδϯ
    w ίʔυੜ੒͕Ͱ͖Δ
    w +BWBͱ,PUMJOͷڞଘϓϩδΣΫτʹରԠͰ͖Δ
    w WFSTJPO
    EPLLB

    View Slide

  46. υΩϡϝϯτ
    w ,%PD͸ೃછΈͷ͋ΔϚʔμμ΢ϯͳͷͰॻ͖΍͍͢ͷͰ͸ͳ͍ͩΖ͏͔
    w +BWBEPDͱॻ͖ํ͕ଟগҟͳΔ
    w IUNMʹు͖ग़͢ࡍ͸EPLLBΛ࢖͏
    υΩϡϝϯτ·ͱΊ

    View Slide

  47. Ո଒ͷຖ೔Λ΋ͬͱসإʹɻ
    ϝϦοτ͚ͩͰ͸ͳ͍
    ૬ޓӡ༻ʹ͍ͭͯ
    ίωώτגࣜձࣾ

    View Slide

  48. ϝϦοτ͚ͩͰ͸ͳ͍૬ޓӡ༻ʹ͍ͭͯ
    ,PUMJOॿ૸ຊͰ΋ݴٴ͞Ε͍ͯΔ

    View Slide

  49. ϝϦοτ͚ͩͰ͸ͳ͍૬ޓӡ༻ʹ͍ͭͯ
    w ৽͍͠ίʔυΛ,PUMJOʹ͢Δ
    w ςετ͔Βಋೖ͢Δ
    w ϥΠϒϥϦʔΛ,PUMJOͰॻ͍ͯಋೖ͢Δ
    w ஔ͖׵͑Δ
    ,PUMJOॿ૸ຊͰ͸ҎԼͷϝϦοτɺ

    σϝϦοτʹ͍ͭͯઆ໌͞Ε͍ͯ·ͨ͠

    View Slide

  50. ϝϦοτ͚ͩͰ͸ͳ͍૬ޓӡ༻ʹ͍ͭͯ
    w ੜ࢈ੑͷߴ͞
    w ίϨΫγϣϯͷૢ࡞͕௚ײతͰָ
    w ֶशίετ΋ͦΕ΄Ͳߴ͘ͳ͍
    w *%&"ͷิ׬͕ڧྗ
    ૬ޓӡ༻ʹ͓͚Δ
    ϓϩδΣΫτಋೖʹΑΔϝϦοτ

    View Slide

  51. ϝϦοτ͚ͩͰ͸ͳ͍૬ޓӡ༻ʹ͍ͭͯ
    w +BWBͱ,PUMJO྆ํΛҙࣝ͢Δඞཁ͕͋Δ
    w ΫϥεʹΑͬͯ͸+BWBΑΓ΋ίʔυྔ͕ଟ͘ͳΔ࣌΋͋Δ
    w ϨϏϡΞʔͷෛ୲
    w ,PUMJOԽ͞Εͳ͍෦෼͕ൃੜͯ͠ϝϯςφϯείετ͕૿େͨ͠
    ૬ޓӡ༻ʹ͓͚Δ
    ϓϩδΣΫτಋೖʹΑΔσϝϦοτ

    View Slide

  52. Ո଒ͷຖ೔Λ΋ͬͱসإʹɻ
    ࠷ޙʹ
    ίωώτגࣜձࣾ

    View Slide

  53. ͍͞͝ʹ
    w ৽ن։ൃͰ͋Ε͹ϑϧ,PUMJOָ͕
    w طଘ։ൃͰ͋Ε͹૬ޓؔ܎ͷਏ͕͋͞Δ
    w ڥքΛҙࣝ͢Δ
    ࠷ޙʹ

    View Slide

  54. ͍͞͝ʹ
    w Ҿ͖ଓ͖૬ޓӡ༻
    w ௕͍໨Ͱݟͯӡ༻͍ͯ͘͠
    w ,PUMJOຊମ΁ͷίϯτϦϏϡʔτ
    w *%&"ΛΑΓศརʹ࢖͍͖͍ͬͯͨ
    ؤுΓ·͢ʂ

    View Slide

  55. Ո଒ͷຖ೔Λ΋ͬͱসإʹɻ
    ίωώτגࣜձࣾ
    ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠

    View Slide