Slide 1

Slide 1 text

Korea Android 10֙ ѐߊೠ ೐۽ં౟ গ੗ੌ সޖ ઑ૒ীࢲ ݽٕച ೮؍ ҃೷ਸ ҕਬ೤פ׮ Seonghun Kim TADA, MVL Korea Android super.init(version=6)

Slide 2

Slide 2 text

ݽٕചח ೞա੄ ௾ ೐۽Ӓ۔ਸ ৈ۞ ѐ੄ ة݀੸ੋ ೞਤ ݽٕ۽ ա־ח Ѫ উ٘۽੉٘ীࢲ ৈ۞ Gradle ݽٕ੉ ੓ח ೐۽ં౟ܳ ݣ౭ ݽٕ ೐۽ં౟ۄҊ ೤פ׮ ೞա੄ ௾ ೐۽ં౟ (ݽ֥ܻ౮ ೐۽ં౟) ݣ౭ ݽٕ ೐۽ં౟ https://developer.android.com/topic/modularization?what-is-modularization#what-is-modularization ݽٕച ੄޷ ੿੄৬ উ٘۽੉٘ ইఃఫ୊

Slide 3

Slide 3 text

അ؀ ݽٕച੄ ӝ߈੉ ػ ইఃఫ୊ о੉٘ উ٘۽੉٘ ҕध ইఃఫ୊ о੉٘ী ٮܰݶ ௾ ҙ੼ীࢲ UI ۨ੉য, Data ۨ੉য ܻ࠙ ੘সਸ ӂ੢ೣ Domain਷ ࢶఖ ࢎ೦ https://developer.android.com/topic/architecture ݽٕച ੄޷ ੿੄৬ উ٘۽੉٘ ইఃఫ୊

Slide 4

Slide 4 text

ݽٕചܳ ೞח ੉ਬ ૐоೞח ࠁੌ۞ ೒ۨ੉౟, ௏٘ ߬੉झ दр੉ ૑աݶ Ѣ؀ೠ ঵൨੉ ٜ݅য૗ ഛ੢ࢿ, оةࢿ੉ աࡅ૑Ҋ ੹߈੸ੋ ௏٘ ಿ૕੉ ڄয૕ ࣻ ੓णפ׮ தࠁ٣ই కҴ ߬౟թ TADA о ਍৔غח ૑৉ ഘ௖ new यоನܰ

Slide 5

Slide 5 text

ݽٕചܳ ೞח ੉ਬ TADAח ੼੼ ഛ੢غח ࢲ࠺झ ૑৉ 10֙ р ऺੋ ௏٘ ߬੉झ 10֙ ੹੄ ѐߊ ߑधࠗఠ അ؀ ইఃఫ୊ ੸ਊী ੉ܰӝө૑ ׮নೠ ௏٘о ঵൦ ೐۽ં౟৓णפ׮ यоಫ தࠁ٣ই కҴ ߬౟թ TADA о ਍৔غח ૑৉ ഘ௖

Slide 6

Slide 6 text

ݽٕചܳ ೞח ੉ਬ TADA জ ؀ӏݽ ѐಞ ੘স द੘ Revamp ೐۽ં౟۽ டೣ यӖ ݫੋ ಕ੉૑ ীࢲ ߄థ ֎࠺ѱ੉࣌ਵ۽ ҳઑ ߸҃

Slide 7

Slide 7 text

ݽٕചܳ ೞח ੉ਬ TADA জ ؀ӏݽ ѐಞ ੘স द੘ Revamp ೐۽ં౟۽ டೣ यӖ ݫੋ ಕ੉૑ ীࢲ ߄థ ֎࠺ѱ੉࣌ਵ۽ ҳઑ ߸҃

Slide 8

Slide 8 text

ݽٕച ҅ദ झ೐ܽ౟׼ 2઱ সޖ ૓೯ ੉ ӝр੄ ౣ উীࢲ ѐߊ, ݽٕച ੘স Ѿҗޛ੉ ೙ਃ ࢸ҅ ৮ࢿ ݾ಴ܳ ੿ೞҊ झ೐ܽ౟ ݃׮ ݽٕച ੘সਸ V1, V2... ੘স ݺਵ۽ டೣ

Slide 9

Slide 9 text

ݽٕച V1 ੘স https://developer.android.com/topic/architecture/recommendations#layered-architecture ইఃఫ୊ ҕध ੗ܐ ܻࢲட ࢸ҅ ݾ಴੄ ௾ Ӓܿ Ӓ۰ࠁӝ ҙबࢎܳ ҅க߹۽ ա־ח ߑधਸ ۨ੉য٘ ইఃఫ୊ ۄҊ ೤פ׮

Slide 10

Slide 10 text

ݽٕച V1 ੘স https://developer.android.com/topic/architecture/recommendations#layered-architecture Data source ࠗఠ ࣽର੸ਵ۽ ௏٘ܳ ܻ࠙ೞݶ غ૑݅ ݢ੷ ೧Ѿ೧ঠ ؼ ੄ઓࢿٜ੉ ੓णפ׮

Slide 11

Slide 11 text

ݽٕച V1 ੘স BuildConfig ա־ӝ https://developer.android.com/build/dependencies#dependency_configurations ف ѐ੄ BuildConfig ݽٕਸ ٜ݅঻णפ׮ build-config: पઁ чҗ ݽٚ Flavor чਸ о૑Ҋ ੓ח ݽٕ build-config-stub: о૞ чਸ о૑Ҋ ੓Ҋ, Flavor ੿ࠁب হח ݽٕ

Slide 12

Slide 12 text

पઁ ч, ݽٚ Flavor ੿ࠁܳ о૑Ҋ ੓ח :build-config ః ч਷ زੌೞ૑݅ о૞ ч (stub) ਸ о૑Ҋ ੓ח :build-config-stub ƀ https://developer.android.com/build/dependencies#dependency_configurations ݽٕച V1 ੘স BuildConfig ա־ӝ ƀ ƀ ƀ

Slide 13

Slide 13 text

https://developer.android.com/build/dependencies#dependency_configurations ݽٕച V1 ੘স BuildConfig ա־ӝ

Slide 14

Slide 14 text

ݽٕച V1 ੘স Resource ա־ӝ https://developer.android.com/build/optimize-your-build#use-non-transitive-r-classes ఫझ౟, ੉޷૑ ١ জ ղ ݽٚ ܻࣗझ ౵ੌਸ :resource ݽٕ۽ ৤ӝӝ ܻࣗझܳ ೠ ݽٕীࢲ ة੼ ҙܻೞݶ? - ઺ࠂ ܻࣗझ ࢎਊ ߑ૑ - ױੌ R ௿ېझ import ఃਕ٘ ࢎਊ оמ - ࠽٘ ࣘبী ੉ٙ੉ ؼ ࣻ ੓਺ import com.example.app.R ݽٚ ݽٕীࢲ э਷ ܻࣗझ import ఃਕ٘ܳ ࢎਊೡ ࣻ ੓਺

Slide 15

Slide 15 text

ݽٕച V1 ੘স Model ա־ӝ Data ҅கਸ ܻ࠙ೞӝ ਤ೧ ೧׼ ҅கীࢲ ଵઑغח ݽ؛ਸ ਋ࢶ ࣽਤ۽ :model ݽٕ۽ ৤ӝӝ ੄৻۽ ݽٚ ݽٕച ੘স઺ о੢ ൨ٜ঻؍ ױ҅৓णפ׮ ف ߣ ૩ द۲਷ ؘ੉ఠ ۨ੉যীࢲ...

Slide 16

Slide 16 text

௏٘ܳ ೞա ੟ওਸ ࡺੋؘ ੉݅ೠ ௏٘ܳ ࡳইৢܾ ୓۱੉ ೙ਃ೮णפ׮ ݽٕച V1 ੘স Model ա־ӝ

Slide 17

Slide 17 text

ݽٕച V1 ੘স ੿ܻ ୐ ߣ ૩ झ೐ܽ౟ীࢲ ৮ࢿೠ v1 ࢸ҅੄ ݽٕ ҳࢿ - ੗ܐ ܻࢲட - ۨ੉য٘ ইఃఫ୊۽ ௾ Ӓܿ Ӓܻӝ - V1 ࢸ҅ ݾ಴ ੿ܻ BuildConfig, Resource, Data Model п ݽٕ۽ ة݀ दఃӝ

Slide 18

Slide 18 text

ݽٕച V2 ੘স ࠄѺ੸ੋ Revamp ѐߊ ೐۽ં౟ܳ द੘ೞח झ೐ܽ౟ ই૒ UI ۨ੉যܳ ݽٕ۽ աׂ ࣻ হח ࢚క చ ߹ ചݶҗ ߬੉झ ചݶө૑ ୨ 6౵౟۽ ա׋ ੘স ࢎ੹ ࢸ҅ࠗఠ ૓೯ೞҊ ౱ਗٜҗ ܻ࠭ೣ

Slide 19

Slide 19 text

ݽٕച V2 ੘স ࢎ੹ ࢸ҅ https://developer.android.com/topic/modularization#benefits ݽٕച ೡ ௏٘ܳ জ ݽٕ উী ಁః૑۽ ޷ܻ ա׃

Slide 20

Slide 20 text

ݽٕച V2 ੘স ࢎ੹ ࢸ҅ https://developer.android.com/topic/modularization#benefits Ѿ೤ࢿ੉ ծਵݶ ௏٘ ࣻ੿, Ү୓о औणפ׮ ഛ੢ࢿ ࣗਬӂ ծ਷ Ѿ೤۱੄ ਗ஗ਸ ଵҊೠ ࢸ҅

Slide 21

Slide 21 text

ݽٕച V2 ੘স ࢎ੹ ࢸ҅ https://developer.android.com/topic/modularization#benefits п ҳഅ੄ ੘স ҕр੉ ة݀ غݶࢲ ؊ ױࣽೠ ௏٘ܳ ਬ૑ೡ ࣻ ੓णפ׮ ੗োझۣѱ ݽٕ݃׮ ੹ޙ ੘স੗, ଼੐х ഋࢿਸ ӝ؀ೡ ࣻ ੓णפ׮

Slide 22

Slide 22 text

ݽٕച V2 ੘স ݽٕച৬ Revamp ѐߊਸ ߽۳۽ ૓೯ೞӝ ਤೠ ࢸ҅ ୹ߊ੼

Slide 23

Slide 23 text

ݽٕച V2 ੘স https://developer.android.com/topic/modularization/patterns#cohesion-coupling ࢸ҅ ߑೱ ࢸ੿ - ֫਷ Ѿ೤ࢿ ױࣽೣ - ծ਷ Ѿ೤ࢿ ࠂ੟ೣ

Slide 24

Slide 24 text

ݽٕച V2 ੘স https://developer.android.com/topic/modularization/patterns#cohesion-coupling ࢸ҅ ߑೱ ࢸ੿ - ֫਷ Ѿ೤ࢿ ױࣽೣ - ծ਷ Ѿ೤ࢿ ࠂ੟ೣ TADA ח ӝઓ੄ ֫਷ Ѿ೤ࢿ ജ҃੄ ࠛಞೣਸ ೧ࣗೞӝ ਤ೧ ݽٕചܳ Ѿ੿೮णפ׮ ૊ ծ਷ Ѿ೤ࢿ ਵ۽ ࢸ҅ ߑೱਸ Ѿ੿!

Slide 25

Slide 25 text

https://developer.android.com/topic/modularization/patterns#how_to_implement ೠ ҙबࢎ੄ ݽٕਸ api, impl ݽٕ۽ ա׈णפ׮ :api ݽٕ ҕѐ ݽٕ - interface ৬ ৻ࠗ ҕѐ model ਸ ࢶ঱ೞח ݽٕ :impl ݽٕ ࠺ҕѐ ݽٕ - interface ۽ ҳഅ ௏٘ܳ ੘ࢿೞח ݽٕ ݽٕച V2 ੘স Data layer ա־ӝ

Slide 26

Slide 26 text

ݽٕച V2 ੘স਷ ੉۠ ҳઑ۽ ݃ޖܻ غ঻णפ׮ ݽٕച V2 ੘স ୒ࢎ૓

Slide 27

Slide 27 text

new ݽٕച V3 ੘স о੢ рױ೧ࢲ, एযщ؍ ౵౟ ӝઓ ࢸ҅؀۽ UI ۨ੉যܳ ܻ࠙ ੌࠗ ࠺ૉפझ ۽૒਷ Domain ۨ੉য۽ ܻ࠙ ׮਺ ಕ੉૑ী ߄۽ ৮ࢿػ ҳઑо ҕѐؾפ׮

Slide 28

Slide 28 text

ConventionPlugin: https://www.youtube.com/watch?v=7iag6zpGd98 navigator: https://developer.android.com/guide/navigation/integrations/multi-module new new ݽٕച V3 ੘স ୒ࢎ૓ ݽٕച ੘স੄ ৮ࢿػ ҳઑੑפ׮ ҃೷׸ਸ ؊ ੗ࣁ൤ ׮ܖҊ रযࢲ ࢎप ݆਷ ղਊ੉ ࢤۚ غ঻חؘਃ Navigator ৬ Convention Plugin ੗ܐח ؀୓ ݂௼ܳ ୎ࠗ٘݀פ׮

Slide 29

Slide 29 text

਋ܻ੄ ݽٕച ҃೷ਸ ಴അೠ Ӓې೐ ੑפ׮ द੘਷ ࢸۨ੐੄ ੿੼ ೞ૑݅ җ੿਷ ൨ٜ঻णפ׮ п੗ ѻ਷ ۞׬ழ࠳о ׳ۋҊ ੸਽ೡ दр੉ ೙ਃ೮णפ׮ ࣻ ѐਘ੉ ૑դ അ੤ ਋ܻח ؊ ա਷ ݽٕച ҳઑܳ ਤ೧ ৈ۞ ֤੄ܳ ೞҊ੓णפ׮ (উ੿ ױ҅) ݽٕച ഥҊ

Slide 30

Slide 30 text

ഥࢎীࢲ ݽٕചܳ ೞӝ੹ী Ҋ۰ೡ Ѫ 1 ݠन ࢎন ࢸ҅ ߑೱ ࢸ੿ - ֫਷ Ѿ೤ࢿ ױࣽೣ - ծ਷ Ѿ೤ࢿ ࠂ੟ೣ ݽٕ ࣻо ݆ই૕ࣻ۾ ࠽٘ݠन ࢎন ૐо ߓನܳ ਤೠ CI ࠽٘ ӝળ, ಣӐ RAM 23 GB ࢎਊ઺ (ݽٕ ࣻ ড 140ѐ ӝળ) ࠽٘ ജ҃ীࢲ ࢎਊೞח RAM 16GB ࢎਊ੗ח ݽٕ ӏݽ ഛ੢ী ઁೠ੸੐ द੘਷ ױࣽೠ ҳઑ۽ ੽ӔೞҊ ܻࣗझ ࢎਊ ૐо۝ਸ ੜ ҙ଴ ೧ࠅѪ

Slide 31

Slide 31 text

ծ਷ Ѿ೤ࢿ ୡ߈ী য়൤۰ ߣѢ܂Ҋ ࠛಞೣ. ࢤ࢑ࢿী ૑੢੉ ੓ਸࣻ ੓਺. ௏٘р੄ ঵൨੉ ୭ࣗച غӝ ٸޙী ੢ӝ੸ਵ۽ ௏٘ Ү୓, সؘ੉౟ী ਬܻೣ ഥࢎীࢲ ݽٕചܳ ೞӝ੹ী Ҋ۰ೡ Ѫ 2 ಞ੄ࢿ ֫਷ Ѿ೤ࢿ ૊п੸ੋ ಞ੄ࢿ ੢ӝ੸ਵ۽ ௏٘ Ѿ೤ ߊࢤ https://developer.android.com/topic/modularization/patterns

Slide 32

Slide 32 text

ഥࢎীࢲ ݽٕചܳ ೞӝ੹ী Ҋ۰ೡ Ѫ 3 ࢿҗ۽ ಣо߉ӝ ഥࢎਗਵ۽ࢲ সޖ ࢿҗܳ ಣо ߉חѤ ઺ਃ೤פ׮. જ਷ ѐߊ ജ҃ਸ ٜ݅ӝ ਤ೧ ৌब൤ ੘সೠ ݽٕച. ѐߊ੗੄ જ਷ ࢿҗ۽ ಣо ߉ਸࣻ ੓যਃ. ೞ૑݅ Ӓۧ૑ ঋ਷ ઑ૒ب ੓ѷભ. ಣࣗী ೞ؍ ੿ӏ সޖীࢲ ؊ જ਷ ಣоܳ ߉ਸࣻب ੓णפ׮. ݽٕച ੘স੉ ࢿҗ۽ ಣоؼ ࣻ ੓ѱ ౱ਗٜ, ઑ૒੢җ അ੤੄ ࠛಞೣী ؀ೠ ҕх؀ܳ ഋࢿೞҊ ݽٕച ੘স੄ ੢ӝ੸ о஖ܳ ࢸݺ೧઱ࣁਃ. (ӝࣿ ࠗ଻ хࣗ, ௏٘ ױࣽച۽ ੘স ࣘب ೱ࢚, ߡӒ хࣗਯ ١)

Slide 33

Slide 33 text

౱ਗٜ੉ ߄Ո ѐߊ ߑधਸ ੉೧ೞҊ ੸਽ਸ ب਋ח Ѫө૑ ݽٕച ੘স੗о ೧ঠؼ ੌੑפ׮. ݽٕਸ աׇࢲ ௏٘ܳ ؊ ױࣽೞѱ ҙܻೠ׮੄ ੉੼ ࠁ׮ ؊ ࠂ੟ೞҊ ࠛಞೞѱ ו՜ࣻ ੓णפ׮. - ۞׬ழ࠳ ੉ग۽ ൨ٜয ೞח ౱ਗ - ੉೧ח ೮૑݅ Modular ѐߊ ߑधী ੸਽ೞוۄ ൨ٚ ౱ਗ п੗ ׮নೠ ੉ਬ۽ ۞׬ழ࠳৬ ࠛಞਸ ѻҊ ੓ਸ ഛܫ੉ ֫णפ׮. ੸ӓ੸ਵ۽ աࢲࢲ ޙઁܳ ૓ױೞҊ ب৬઱ࣁਃ. ഥࢎীࢲ ݽٕചܳ ೞӝ੹ী Ҋ۰ೡ Ѫ 4 ۞׬ ழ࠳

Slide 34

Slide 34 text

хࢎ೤פ׮ Korea Android super.init(version=6) 10֙ ѐߊೠ ೐۽ં౟. গ੗ੌ সޖ ઑ૒ীࢲ ݽٕച ೮؍ ҃೷ਸ ҕਬ೤פ׮. ӣࢿള linkedin.com/in/sam-winter-h ݽٕച ೒ې׬ җ੿ਸ ੿ܻೠ ച੉౟ࠁ٘ ࠁ۞оӝ (QR) github.com/winter-love-dev