์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 

[ํฌํŠธํด๋ฆฌ์˜ค] ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ๋งŒ๋“ค๊ธฐ - ์ด๋ก ํŽธ

์ทจ์—…(์ด์ง)์„ ์œ„ํ•ด ํฌํŠธํด๋ฆฌ์˜ค ์•ฑ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ ๊ด€๋ จ ์ด๋ก ์ž…๋‹ˆ๋‹ค.

Thumbnail

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[Android, ํฌํŠธํด๋ฆฌ์˜ค] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • ์•ˆ๋“œ๋กœ์ด๋“œ ๋””์ž์ธ ํŒจํ„ด(MV + X(์–ด๋–ค ๊ฒƒ)/ํด๋ฆฐ์•„ํ‚คํ…์ฒ˜)

  • Jetpack Compose

  • ๋ฉ€ํ‹ฐ๋ชจ๋“ˆ/SDK

  • ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ ์ด๋ก ์ง€์‹(Token์ธ์ฆ/๋ฉ”๋ชจ๋ฆฌ-Heap,Stack/WebView ํ†ต์‹ /CICD)

๊ฒฝ๋ ฅ๊ฐ™์€ ์‹ ์ž…์„ ์ฐพ์œผ๋ฉด ๋‚˜๋Š” ๊ฒฝ๋ ฅ์„ ์–ด๋””์„œ ์Œ“๋‚˜์š”?


  • ๋””์ž์ธ ํŒจํ„ด๊ณผ ํด๋ฆฐ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

  • ์˜์กด์„ฑ ์ฃผ์ž…์— ๋Œ€ํ•ด์„œ ์•Œ๋ ค์ฃผ์‹œ๊ณ , ์‹ค์ œ๋กœ ์˜์กด์„ฑ ์ฃผ์ž…์„ ํ•ด์„œ ์ฝ”๋“œ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋‹ฌ๋ผ์กŒ๋Š”์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.


  • Jetpack Compose๋ฅผ ์Šคํ„ฐ๋””ํ•ด๋ณด์…จ๋‹ค๊ณ  ํ•˜์…จ๋Š”๋ฐ, ์–ด๋–ค ์ ์ด XML๊ณผ ๋‹ค๋ฅธ์ง€ ์•Œ๋ ค์ฃผ์„ธ์š”.

  • ๋ฉ€ํ‹ฐ๋ชจ๋“ˆ ๊ตฌ์กฐ๋กœ ์•ฑ์„ ์ œ์ž‘ํ•œ ์ ์ด ์žˆ์œผ์‹ ๊ฐ€์š”?

  • CI/CD ์— ๋Œ€ํ•ด์„œ ์•Œ๋ ค์ฃผ์„ธ์š”. ๋ฐฐํฌ๋ฅผ ์ž๋™ํ™”ํ•œ ๊ณผ์ •์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

  • ์ €ํฌ ํšŒ์‚ฌ๋Š” ์›น๋ทฐ(WebView)๋ฅผ ๋งŽ์ด ์“ฐ๋Š”๋ฐ, ์›น๋ทฐ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ค์–ด์„œ ํ†ต์‹ ํ•˜๊ฑฐ๋‚˜ ๋””๋ฒ„๊น…์„ ํ–ˆ๋˜ ๊ฒฝํ—˜์— ๋Œ€ํ•ด์„œ ์•Œ๋ ค์ฃผ์„ธ์š”.


๊ธฐ์ˆ ๋ฉด์ ‘ ๋“ฑ์—์„œ ํ”ํ•˜๊ฒŒ ๋“ค์„ ์ˆ˜ ์žˆ๋Š” ์งˆ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋Œ€๋ถ€๋ถ„์˜ ์งˆ๋ฌธ๋“ค์ด ํšŒ์‚ฌ์—์„œ ์ผ์„ ํ•ด๋ณด๋ฉด ๋ฐฐ์šฐ๊ณ  ๋А๋‚„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋“ค์ด์ง€๋งŒ

์ทจ์—… ์ „, ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ๋งŒ๋“ค ๋•Œ ์ด๋Ÿฐ ๋ถ€๋ถ„์„ ๊ณ ๋ คํ•ด์„œ ํฌํŠธํด๋ฆฌ์˜ค ์•ฑ์„ ์ œ์ž‘ ํ•˜๊ธฐ๋Š” ์‰ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋ถ„๋“ค์„ ์œ„ํ•ด ํฌํŠธํด๋ฆฌ์˜ค๋กœ ์ œ์ถœํ•  ์•ฑ์„ ๊ฐœ๋ฐœํ•  ๋•Œ, ๋„ฃ์—ˆ์œผ๋ฉด ํ•˜๋Š” ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ๋ถ€๋ถ„์„ ๊ฐ•์˜๋กœ ์ œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.


์–ด๋–ค ๋‚ด์šฉ์„ ๋ฐฐ์šฐ๋‚˜์š”?


  • ๊ธฐ๋ณธ ์•ฑ ์„ค๊ณ„(Android / clean-architecture / Kotlin)


    ์™œ Activity์— ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ๋„ฃ์œผ๋ฉด ์•ˆ๋ ๊นŒ์š”? ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ, ๋””์ž์ธํŒจํ„ด, ํด๋ฆฐ์•„ํ‚คํ…์ฒ˜, ๊ฐ„๋‹จํ•œ ํ…Œ์ŠคํŠธ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.


  • ๊ธฐ๋ณธ ์•ฑ ์„ค๊ณ„ ๋” ์•Œ์•„๋ณด๊ธฐ


    ์˜์กด์„ฑ ์ฃผ์ž…์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ณ 
    Dagger Hilt์— ๋Œ€ํ•ด์„œ ์‹ค์Šตํ•ด๋ด…๋‹ˆ๋‹ค.


  • Jetpack Compose(Android Compose)


    Jetpack Compose ๋กœ ๊ฐœ๋ฐœํ•  ๋•Œ์™€ XML๋กœ ๊ฐœ๋ฐœํ•  ๋•Œ ๋‹ค๋ฅธ์ ๊ณผ


    ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค๊ณ , Compose๋ฅผ ์ด์šฉํ•˜๋ฉด์„œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ๋“ค์— ์•Œ์•„๋ด…๋‹ˆ๋‹ค.


  • ๋ฉ€ํ‹ฐ๋ชจ๋“ˆ/SDK(android-multi-module)
    ์ฝ”๋“œ๋ฅผ ๋‹จ์ˆœํžˆ ํด๋”/ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ
    SDK / ๋‹ค๋ฅธ ๋ชจ๋“ˆ๋กœ ๋ถ„๋ฅ˜ํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.



  • ์ถ”๊ฐ€์ ์œผ๋กœ ๋” ์•Œ๋ฉด ์ข‹์€ ๊ฒƒ๋“ค
    ๊ฐ„๋‹จํ•œ CS์ง€์‹ ๋ฐ, ์ทจ์—… ์ „์— ๊ฐœ๋ฐœํ•  ๋•Œ๋Š” ์ž˜ ํ•ด๋ณด์ง€ ์•Š์„ ๊ฒƒ๋“ค์„ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.



์–ด๋–ค ์ ์ด ๋‹ค๋ฅธ ๊ฐ•์˜์™€ ๋‹ค๋ฅผ๊นŒ์š”?


๋Œ€๋ถ€๋ถ„์˜ ๊ฐ•์˜์˜ ๊ฒฝ์šฐ ์•ฑ์„ ๋”ฐ๋ผ๋งŒ๋“œ๋Š” ํ˜•ํƒœ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์— ์ต์ˆ™ํ•˜์ง€ ์•Š์„ ๋•Œ, ํด๋ก ์ฝ”๋”ฉ ํ˜น์€ ์˜ˆ์ œ ์•ฑ ๋”ฐ๋ผ๋งŒ๋“ค๊ธฐ๋Š” ์ˆ™๋ จ๋„์— ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ, ์–ด๋А์ •๋„ ๊ธฐ๋Šฅ ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•œ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋Š” ๋‹จ์ˆœํžˆ ๊ธฐ๋Šฅ์„ ๋”ฐ๋ผ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ํฐ ๋„์›€์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ตฌ์กฐ์™€ ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ ๋“ค์„ ๊ณ ๋ คํ•ด์„œ ์•ฑ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ๊ฐ•์˜๋ฅผ ์ œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.


๊ฐ•์˜๋Š” ๋“ฃ๋Š” ๊ฒƒ์€ ์‹œ๊ฐ„์„ ๋ˆ์œผ๋กœ ์‚ฐ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.


๊ฐ•์˜์—์„œ ๋‹ค๋ฃจ๋Š” ๋‚ด์šฉ์— ๋Œ€ํ•ด ์ž˜ ๋ชจ๋ฅด์‹œ๋Š” ๋ถ„์ด ํ•ด๋‹น ๋ถ€๋ถ„์„ ์Šคํ„ฐ๋””ํ•˜์‹œ๋Š”๋ฐ

์‹œ๊ฐ„์„ ๋งŽ์ด ์•„๊ปด๋“œ๋ฆด ์ˆ˜ ์žˆ๊ฒŒ ์ •์„ฑ์„ ์Ÿ์•„ ๊ฐ•์˜๋ฅผ ์ œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.


๊ถ๊ธˆํ•ด์š” ๐Ÿค”

Q. ๊ฐ•์˜ ์‹œ๊ฐ„์ด ์™œ ์ด๋ ‡๊ฒŒ ์งง์€๊ฐ€์š”?

๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์น˜๋Š” ํ˜•ํƒœ๊ฐ€ ์•„๋‹Œ, ๋ฏธ๋ฆฌ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  ์„ค๋ช…๋“œ๋ฆฌ๋Š” ํ˜•ํƒœ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ฝ”๋“œ๋ฅผ ๋”ฐ๋ผ์น˜๋ฉด์„œ ์„ค๋ช…๋“œ๋ฆฌ๋ฉด 30~40๋ถ„ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋Š” ๋‚ด์šฉ๋„ ๋ถˆํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๋ถ€๋ถ„์„ ์ œ๊ฑฐํ•˜๊ณ  ๋ช‡๋ถ„ ์ด๋‚ด๋กœ ์ค„์˜€์Šต๋‹ˆ๋‹ค.

Q. ๊ฐ•์˜์— ์‚ฌ์šฉํ•˜๋Š” ์ฝ”๋“œ๋Š” ๋ชจ๋‘ ์ œ๊ณต๋˜๋‚˜์š”?

์„น์…˜ 1-3 ๊ฐ•์˜์ž๋ฃŒ์— ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ๋…ธ์…˜์— ์ •๋ฆฌํ•ด๋†จ๊ณ , ํ•ด๋‹น ๋…ธ์…˜ ์ฃผ์†Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.


Q. ์ด๋ก ํŽธ์ธ๋ฐ ์ด๋ก ๋งŒ ์„ค๋ช…ํ•˜๋‚˜์š”?

์˜ˆ์ œ ์ค‘์‹ฌ์œผ๋กœ ์•Œ๊ณ  ๊ณ„์…จ์œผ๋ฉด ํ•˜๋Š” ๋‚ด์šฉ๋“ค์„ ์˜ˆ์ œ๋กœ ๋งŒ๋“ค์–ด์„œ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ฒ˜์Œ๋ถ€ํ„ฐ ์•ฑ์„ A-Z๊นŒ์ง€ ๋งŒ๋“ค์ง€ ์•Š๊ณ , ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ์ž˜๋ผ์„œ ์„ค๋ช…๋“œ๋ฆฌ๋Š” ํ˜•ํƒœ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

๊ณต๊ฐœ๋œ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๊ฐ•์˜๋ฅผ ๋ณด์‹œ๊ณ , ๊ฐ•์˜ ์Šคํƒ€์ผ๊ณผ ๋‚œ์ด๋„๋ฅผ ํŒ๋‹จํ•ด์ฃผ์„ธ์š”.

์ถ”ํ›„ [์‹ค์ŠตํŽธ]์œผ๋กœ ์•ฑ์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋งŒ๋“œ๋Š” ๊ฐ•์˜๋กœ ์ฐพ์•„๋ต™๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • ์ทจ์—…(์ด์ง)์„ ์œ„ํ•ด ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ๋งŒ๋“œ์‹œ๋Š” ๋ถ„

  • ์•ˆ๋“œ๋กœ์ด๋“œ ํ”ผ์ฒ˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„์€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ๋””์ž์ธ ํŒจํ„ด ๋“ฑ ์ด๋ก ๋“ฑ์— ๋Œ€ํ•œ ์ง€์‹์ด ๋ถ€์กฑํ•˜์‹  ๋ถ„

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • Android(Kotlin)์œผ๋กœ ๊ฒŒ์‹œํŒ์ •๋„๋Š” ๊ฐœ๋ฐœํ•˜์‹œ๋Š”๋ฐ ๋ฌธ์ œ์—†์œผ์…”์•ผ ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”
๊ฐœ๋ณต์น˜๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค.

7,560

๋ช…

์ˆ˜๊ฐ•์ƒ

411

๊ฐœ

์ˆ˜๊ฐ•ํ‰

1,359

๊ฐœ

๋‹ต๋ณ€

4.8

์ 

๊ฐ•์˜ ํ‰์ 

12

๊ฐœ

๊ฐ•์˜

2015๋…„ ์Šคํƒ€ํŠธ์—… ์ฐฝ์—…์„ ๊ณ„๊ธฐ๋กœ ๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ๋Š” ํ‰๋ฒ”ํ•œ ์ง์žฅ์ธ ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

59๊ฐœ โˆ™ (2์‹œ๊ฐ„ 17๋ถ„)

๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!