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

既存プロダクトのKotlin移行でハマったところ

C4221ba79492601eb59a9ef5d4f4bbaa?s=47 nakamuuu
August 22, 2017

 既存プロダクトのKotlin移行でハマったところ

夏のKotlin LT祭での発表資料です。
https://kotlin.connpass.com/event/61427/

C4221ba79492601eb59a9ef5d4f4bbaa?s=128

nakamuuu

August 22, 2017
Tweet

More Decks by nakamuuu

Other Decks in Technology

Transcript

  1. طଘϓϩμΫτͷ,PUMJOҠߦͰ ϋϚͬͨͱ͜Ζ

  2. Fablic, inc. Android Application Developer தଜܙଠ @nakamuuu @chicken_111 2 ࣗݾ঺հ

  3. ྦྷܭ ສ μ΢ϯϩʔυ ಥഁʂ 3 ϑϦϚΞϓϦʮϑϦϧʯʹ͍ͭͯ

  4. ʮϑϦϧʯ΁ͷ,PUMJOͷಋೖ 4

  5. 5 ʮϑϦϧʯ΁ͷ,PUMJOಋೖ w΋ͱ΋ͱςετίʔυͷҰ෦Ͱ,PUMJOΛ࢖༻ wࠓ೥݄ͷެࣜαϙʔτͷΞφ΢ϯεΛػʹɹɹɹ ϓϩμΫγϣϯʹ,PUMJOΛಋೖ։࢝ wத௕ظతʹ͸ϑϧ,PUMJOԽ͍ͨ͠ʜʂ

  6. 6 ʮϑϦϧʯ΁ͷ,PUMJOಋೖ ਐḿ͸ʜʁ

  7. 7 ʮϑϦϧʯ΁ͷ,PUMJOಋೖ ྑ͘͸ͳ͍ʜ ʢ+BWB,PUMJOʣ

  8. ,PUMJO΁ͷҠߦ͕ ࢥ͏Α͏ʹਐΜͰ͍ͳ͍ཁҼ 8

  9. 9 ,PUMJO΁ͷҠߦ͕ਐΜͰ͍ͳ͍ཁҼ ᶃ ,PUMJOʹର͢Δޡͬͨೝࣝ

  10. 10 ᶃ,PUMJOʹର͢Δޡͬͨೝࣝ ʰίʔυͷهड़ྔ͕ݮΔʹଈ࠲ʹੜ࢈ੑ্͕͕Δʱ ʁ

  11. 11 ᶃ,PUMJOʹର͢Δޡͬͨೝࣝ ʰཧղ͢΂͖͜ͱɺߟ͑ͳ͚Ε͹ͳΒͳ͍͜ͱ͸ ૬Ԡʹ૿͍͑ͯΔʱ νʔϜͷதͰϕετϓϥΫςΟεΛ ཱ֬͢Δ·Ͱͷֶशͷϓϩηε͕ॏཁ

  12. 12 ᶃ,PUMJOʹର͢Δޡͬͨೝֶࣝशϓϩηεͷॏཁੑ ,PUMJOॿ૸ಡຊͰ͸ʜ ʰֶशͱద༻ͷϑΣʔζʱ +BWBͱ,PUMJOΛࠞࡏͤͭͭ͞ঃʑʹɹ Ҡߦ͢Δͷ͸ʮֶशͷޮ཰͸͍͍͕ɺ ͜ͷΞϓϩʔνΛͱΔͷ͸ةݥʯ ͘͝Ұ෦ͷςετίʔυ΁ͷಋೖͱ͍͏ܗͰͷɹɹ ֶशͷϑΣʔζͷஔ͖ํ͸ෆे෼

  13. 13 ,PUMJO΁ͷҠߦ͕ਐΜͰ͍ͳ͍ཁҼ ᶄ طଘίʔυʹىҼ͢Δ໰୊

  14. 14 ᶄطଘίʔυʹىҼ͢Δ໰୊,PUMJO΁ͷҠߦํ਑ ᶃ ৽نΫϥε͸ݪଇ,PUMJOͰ࡞੒ ᶄ ϑϧ,PUMJOԽΛத௕ظతͳΰʔϧͱ͢Δ ᶅ طଘίʔυͷ,PUMJO΁ͷҠߦ࣌ʹଞͷมߋ͸ɹɹ ۃྗಉ࣌ʹߦΘͳ͍ ϓϩμΫγϣϯ΁ͷ,PUMJOಋೖͷલʹ

    Ҡߦํ਑Λࡦఆ
  15. 15 ᶄطଘίʔυʹىҼ͢Δ໰୊,PUMJO΁ͷҠߦํ਑ ᶃ ৽نΫϥε͸ݪଇ,PUMJOͰ࡞੒ ᶄ ϑϧ,PUMJOԽΛத௕ظతͳΰʔϧͱ͢Δ ᶅ طଘίʔυͷ,PUMJO΁ͷҠߦ࣌ʹଞͷมߋ͸ɹɹ ۃྗಉ࣌ʹߦΘͳ͍ ϓϩμΫγϣϯ΁ͷ,PUMJOಋೖͷલʹ

    Ҡߦํ਑Λࡦఆ
  16. 16 ᶄطଘίʔυʹىҼ͢Δ໰୊ʰطଘίʔυͷ,PUMJO΁ͷҠߦ࣌ʹଞͷมߋ͸ۃྗಉ࣌ʹߦΘͳ͍ʱ w ଞͷϦϑΝΫλͱείʔϓΛ෼͚ɺૉૣ͘Ҡߦ׬ྃ͠ +BWBͱ,PUMJO͕ࠞࡏ͢ΔϦεΫΛ࠷খԽ͢ΔͨΊ w ͱ͸͍͑ɺΑ͘ͳ͍΋ͷʹ໨Λᛉͬͯ,PUMJOԽ͢Δͷ͸ ਫ਼ਆతʹ͖͍ͭʜ ʢڧ͍ؾ͕࣋ͪͳ͍ͳΒʣ ݴޠ͕ࠞࡏ͢ΔϦεΫͱطଘίʔυͷ໰୊఺Λɹ

    ౿·͑ɺʰ੎͍ʱ͚ͩ͡Όͳ͍ҠߦܭըΛʜ
  17. 17 ᶄطଘίʔυʹىҼ͢Δ໰୊/VMMBCJMJUZΛҙࣝͤͣʹॻ͔Εͨطଘίʔυ ,PUMJO΁ͷҠߦΛগ͠Ͱ΋ݕ౼ͨ͠ஈ֊Ͱɹɹɹɹ ΑΓ/VMMBCJMJUZΛҙࣝͯ͠+BWBΛॻ͘Α͏ʹ͢΂͖ w /VMMBCJMJUZΛҙࣝͤͣʹॻ͔Εͨطଘͷ+BWBίʔυ͕ ҠߦͷաఔͰ͔ͳΓअຐ΋ͷʹͳΔ w ϝιουͷ໭Γ஋ɾҾ਺͸/VMMBCJMJUZΛ໌ࣔ͢΂͖ w

    !/VMMBCMF!/PO/VMM "OOPUBUJPOT4VQQPSU-JCSBSZ  w ,PUMJO͔Β࢖༻͢ΔࡍʹɺϓϥοτϑΥʔϜܕ͕OVMMʹͳΓಘ Δ͔ͪ·ͪ·௥͏ͷʹ͔ͳΓ࣌ؒΛऔΒΕΔ
  18. 18 ,PUMJO΁ͷҠߦ͕ਐΜͰ͍ͳ͍ཁҼ ᶅ ਓ͕଍Γͳʜ

  19. 19 ,PUMJO΁ͷҠߦ͕ਐΜͰ͍ͳ͍ཁҼ

  20. ·ͱΊ 20

  21. 21 ·ͱΊ w,PUMJOʹର͢Δޡͬͨೝ͔ࣝΒֶशϓϩηεΛܰࢹ w ʰهड़ྔ͕ݮΔʹଈ࠲ʹੜ࢈ੑ্͕͕Δʱͱ͍͏ޡͬͨઌೖ؍ w νʔϜͷதͰϕετϓϥΫςΟεΛཱ֬͢Δ͜ͱͷॏཁੑ wطଘίʔυʹىҼ͢Δ໰୊ w طଘίʔυͷ՝୊Λ౿·͑ɺ੎͍೚ͤͷҠߦܭըʹ͠ͳ͍

    w /VMMBCJMJUZΛҙࣝͤͣʹॻ͔Ε͖ͯͨίʔυ͕ͨͪἝΛണ͘
  22. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ