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

Kotlin版CleanArchitectureのテンプレート作ったら爆速開発になった話+α

 Kotlin版CleanArchitectureのテンプレート作ったら爆速開発になった話+α

Keisuke kiuchi

February 07, 2018
Tweet

More Decks by Keisuke kiuchi

Other Decks in Programming

Transcript

  1. ,PUMJO൛$MFBO"SDIJUFDUVSF
    ͷςϯϓϨʔτ࡞ͬͨΒര଎
    ։ൃʹͳͬͨ࿩ʴЋ
    LFJTVLFLJVDIJ
    !%SPJE,BJHJ

    View Slide

  2. • ࢿྉɾಈըެ։༗
    • ࣸਅࡱӨ˚ ͨͩ͠Ի͸߇͑Ίʹ
    • ࣮گɺ0,Ͱ͢
    ESPJELBJHJ@SPPN

    View Slide

  3. ͜ͷൃදͷओͳର৅ऀ
    w $MFBO"SDIJUFDUVSFͬͯฉ͍ͨࣄ͋Δ͚Ͳ

    ࢖ͬͯΈ͍ͨਓ

    ࢖ͬͯΈ͚ͨͲ࣮૷͕૿͑ͯਏ͍ͱࢥͬͨਓ

    ࢖ͬͯΈ͚ͨͲ%*ͷ࣮૷͕ਏ͍ͱࢥͬͨਓ
    w தɾ௕ظతʹ։ൃ͢ΔΞϓϦʹܞΘΔਓ

    View Slide

  4. ,FJTVLF,JVDIJ
    w ৬ۀɿ"OESPJEΤϯδχΞ݉ҭࣇύύ
    w झຯͰ࡞ͬͨΞϓϦɿʮΒ͘ͰΜʯ
    w Ϟοτʔɿ໌೔ͷࣗ෼ʹ༏͍͠ίʔυΛॻ͘
    w 4/4

    5XJUUFS!GFJ@LPNF

    (JUIVC!LJVDIJLFJTVLF

    2JJUB!L@LFJTVLF

    View Slide

  5. ࠷ۙͷΞΫςΟϏςΟ

    View Slide

  6. "HFOEB
    w ͜ͷൃදͰಘΒΕΔޮೳ
    w ͳͥ$MFBO"SDIJUFDUVSFΛ࢖͏ͷ͔
    w $MFBO"SDIJUFDUVSFY5FNQMBUFJO,PUMJO
    w ·ͱΊ

    View Slide

  7. ͜ͷൃදͰಘΒΕΔޮೳ
    ˞ޮՌʹ͸ݸਓ͕ࠩ͋Γ·͢

    View Slide

  8. ޮೳ
    w $MFBO"SDIJUFDUVSFʹ͍ͭͯ஌Ε·͢
    w ։ൃ଎౓͕਺ഒʹͳΓ·͢
    w ίʔυΛվม͢Δ͜ͱ΁ͷسආײ͕ബΕ·͢
    w ٸͳ࢓༷มߋʹ΋৺Ժ΍͔Ͱ͍ΒΕ·͢

    View Slide

  9. ͳͥ$MFBO"SDIJUFDUVSFΛ࢖͏ͷ͔
    8IZ)PX8IBU$MFBO"SDIJUFDUVSF
    ࢀߟIUUQTUIMJHIUDPNCMPHVODMFCPCUIFDMFBOBSDIJUFDUVSFIUNM

    View Slide

  10. ࣗ෼ͷॻ͍ͨίʔυɺ਺೥ޙ
    ʹݟ௚ͯ͠ଈमਖ਼Ͱ͖·͔͢ʁ
    ࣗ෼ͷॻ͍ͨίʔυɺ

    ଞͷਓ͕͙͢ಡΊ·͔͢ʁ

    View Slide

  11. ΞϓϦ։ൃͷ຤ظ঱ঢ়
    w ॲཧ͕௥͑ͳ͍ཧղग़དྷͳ͍ˠՄಡੑͷ௿Լ
    w ڊେͳ"DUJWJUZ'SBHNFOUˠΫϥεͷංେԽ
    w Ϋϥεؒͷີ݁߹ˠݟ͑ͳ͍Өڹൣғ

    View Slide

  12. $MFBO"SDIJUFDUVSF͸
    ຤ظ঱ঢ়Λ༧๷͢Δ

    View Slide

  13. $MFBO"SDIJUFDUVSFશମਤ
    ࢀߟIUUQTRJJUBDPNLPVUBMPVJUFNTBGDGBEFDED

    View Slide

  14. 1SFTFOUBUJPO૚
    w 7JFXɿ
    "DUJWJUZ 'SBHNFOU
    w 1SFTFOUFS%PNBJO
    ૚ͱͷ૭ޱ

    View Slide

  15. %PNBJO૚
    w 6TF$BTF1SFTFOUBUJPO
    ૚ʹఏڙ͢Δػೳ
    w 5SBOTMBUFS.PEFM%BUB
    ૚͔ΒͷσʔλΛ
    1SFTFOUBUJPO૚Ͱѻ͑
    ΔΑ͏ʹՃ޻͢Δ

    View Slide

  16. IUUQTTQFBLFSEFDLDPNDIFFTFTBOENWWNCFTVUPQVSBLVUFJTV

    View Slide

  17. ͦͷϩδοΫͷҙຯΛ

    Ϗδωε෦ʹ஌͍ͬͯͯ΄͍͠

    :FTˠ6TF$BTF

    /Pˠ1SFTFOUFS
    1SFTFOUFS PS6TF$BTF

    View Slide

  18. %BUB૚
    w %BUB4UPSF %#"1*ʹ
    ઀ଓ͠&OUJUZΛಘΔ
    w 3FQPTJUPSZ%PNBJO૚
    ΁ͷΠϯλϑΣʔε

    View Slide

  19. ࣮ࡍʹαϯϓϧιʔεΛ

    ݟͯΈΔ
    w ϘλϯΛԡͨ͠Β5FYU
    ͕มΘΔαϯϓϧ
    IUUQTHJUIVCDPNLJVDIJLFJTVLF"OESPJE4UVEJP$MFBO"SDIJUFDUVSFUFNQMBUFGPS,PUMJOUSFFNBTUFS&YBNQMF

    View Slide

  20. ͱ͜ΖͰɺؾ͖ͮ·͔ͨ͠ʁ

    Ϋϥε਺͕ҟৗʹଟ͍ࣄʹ

    View Slide

  21. $MFBO"SDIJUFDUVSFͷ·ͱΊ
    w 1SFTFOUBUJPOɺ%PNBJOɺ%BUBʹ੔ཧ͞Εɺ
    ॲཧͷྲྀΕ͕̍ํ޲ʹͳΔˠՄಡੑ޲্
    w ໨తผʹΫϥε෼ׂ͞ΕΔˠංେԽͷ๷ࢭ
    w ֤ϨΠϠʔຖ͕ૄ݁߹ͳ࣮૷ˠ໌֬ͳӨڹൣғ
    w େྔͷΫϥεΛ࡞Δˠ։ൃ଎౓ͷ௿Լ

    View Slide

  22. େྔͷΫϥεੜ੒Λ

    ࣗಈԽͰ͖Δɻ

    ͦ͏ɺ5FNQMBUFͳΒͶ

    View Slide

  23. w $MFBO"SDIJUFDUVSFY5FNQMBUFJO,PUMJO
    Ϋϥε࡞੒͸Ұखؒͩɻຊ౰ʹɻ

    View Slide

  24. 5FNQMBUF͕αϙʔτ͢Δ

    ओཁϥΠϒϥϦ
    w 3FUSPpU
    w 3FBMN
    w 4XBHHFS

    w %BHHFS Y

    w 3Y+BWB

    View Slide

  25. Πϯετʔϧ
    w (JUIVC͔ΒϓϩδΣΫτΛΫϩʔϯ ˞

    IUUQTHJUIVCDPNLJVDIJLFJTVLF"OESPJE4UVEJP$MFBO"SDIJUFDUVSF
    UFNQMBUFGPS,PUMJO

    w JOTUBMMTIΛ࣮ߦ
    w "OESPJE4UVEJPΛ࠶ىಈ
    ※ɿhttps://github.com/android10/Android-CleanArchitecture

    View Slide

  26. ϕʔεΫϥεΛੜ੒ ৽ن1SK

    View Slide

  27. ϕʔεΫϥεΛੜ੒ طଘ1SK

    View Slide

  28. BQQCVJMEHSBEMFΛ௚͢
    ݪҼ͕ղΔਓ͸13Λ

    ͍ͩ͘͞

    View Slide

  29. ֤-BZFSΛੜ੒

    View Slide

  30. ࣮ࡍʹ΍ͬͯΈΔ

    View Slide

  31. 5FNQMBUFͰมΘΔ։ൃ
    w ໘౗ͳΫϥε܈࡞੒͕̍෼ͰՄೳ
    w ҰॠͰ࡞੒ग़དྷΔͷͰ؆୯ʹमਖ਼ɾഁغग़དྷΔ
    w 4XBHHFSαϙʔτͳͷͰ"1*௥ै͕൒ࣗಈ
    w 3Y+BWB,PUMJOͳͷͰγϯϓϧͳهࡌʹग़དྷΔ

    View Slide

  32. 5FNQMBUFͰಘΒΕͨʴЋ
    w %BHHFS΁ͷΠϥΠϥ͕ܹݮ
    w 6*ը໘ͷ࣮૷΍%PNBJOͷઃܭʹ࣌ؒΛଟ͘
    ׂ͚ΔΑ͏ʹͳͬͨ
    w Ҿ͖ܧ͗ίετ͕΄΅̌ʹ

    View Slide

  33. ·ͱΊ
    w $MFBO"SDIJUFDUVSF͸ΞϓϦ։ൃͷ຤ظ঱ঢ়
    Λ༧๷Ͱ͖Δ
    w $MFBO"SDIJUFDUVSF͸Ϋϥε࡞੒͕େม
    w 5FNQMBUF࢖͑͹େมͳΫϥε࡞੒Λ൒ࣗಈԽ

    View Slide

  34. $MFBO"SDIJUFDUVSF
    5FNQMBUF͸͍͍ͧ

    View Slide