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

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

9d4a459864f822fb5aa7a5741e60e26b?s=128

Keisuke kiuchi

February 07, 2018
Tweet

Transcript

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

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

  3. ͜ͷൃදͷओͳର৅ऀ w $MFBO"SDIJUFDUVSFͬͯฉ͍ͨࣄ͋Δ͚Ͳ
 ࢖ͬͯΈ͍ͨਓ
 ࢖ͬͯΈ͚ͨͲ࣮૷͕૿͑ͯਏ͍ͱࢥͬͨਓ
 ࢖ͬͯΈ͚ͨͲ%*ͷ࣮૷͕ਏ͍ͱࢥͬͨਓ w தɾ௕ظతʹ։ൃ͢ΔΞϓϦʹܞΘΔਓ

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


    (JUIVC!LJVDIJLFJTVLF
 2JJUB!L@LFJTVLF
  5. ࠷ۙͷΞΫςΟϏςΟ

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

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

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

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

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

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

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

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

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

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

  16. IUUQTTQFBLFSEFDLDPNDIFFTFTBOENWWNCFTVUPQVSBLVUFJTV

  17. ͦͷϩδοΫͷҙຯΛ
 Ϗδωε෦ʹ஌͍ͬͯͯ΄͍͠
 :FTˠ6TF$BTF
 /Pˠ1SFTFOUFS 1SFTFOUFS PS6TF$BTF

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

  19. ࣮ࡍʹαϯϓϧιʔεΛ
 ݟͯΈΔ w ϘλϯΛԡͨ͠Β5FYU ͕มΘΔαϯϓϧ IUUQTHJUIVCDPNLJVDIJLFJTVLF"OESPJE4UVEJP$MFBO"SDIJUFDUVSFUFNQMBUFGPS,PUMJOUSFFNBTUFS&YBNQMF

  20. ͱ͜ΖͰɺؾ͖ͮ·͔ͨ͠ʁ
 Ϋϥε਺͕ҟৗʹଟ͍ࣄʹ

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

  22. େྔͷΫϥεੜ੒Λ
 ࣗಈԽͰ͖Δɻ
 ͦ͏ɺ5FNQMBUFͳΒͶ

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

  24. 5FNQMBUF͕αϙʔτ͢Δ
 ओཁϥΠϒϥϦ w 3FUSPpU w 3FBMN w 4XBHHFS  

    w %BHHFS Y  w 3Y+BWB
  25. Πϯετʔϧ w (JUIVC͔ΒϓϩδΣΫτΛΫϩʔϯ ˞ 
 IUUQTHJUIVCDPNLJVDIJLFJTVLF"OESPJE4UVEJP$MFBO"SDIJUFDUVSF UFNQMBUFGPS,PUMJO  w JOTUBMMTIΛ࣮ߦ

    w "OESPJE4UVEJPΛ࠶ىಈ ※ɿhttps://github.com/android10/Android-CleanArchitecture
  26. ϕʔεΫϥεΛੜ੒ ৽ن1SK

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

  28. BQQCVJMEHSBEMFΛ௚͢ ݪҼ͕ղΔਓ͸13Λ
 ͍ͩ͘͞

  29. ֤-BZFSΛੜ੒

  30. ࣮ࡍʹ΍ͬͯΈΔ

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

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

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

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