iOS ๊ฐœ๋ฐœ์ž
์ง๊ตฐ๊ฐœ๋ฐœ
๊ฒฝ๋ ฅ์‚ฌํ•ญ๊ฒฝ๋ ฅ 3๋…„ ์ด์ƒ
๊ณ ์šฉํ˜•ํƒœ์ •๊ทœ์ง
๊ทผ๋ฌด์ง€๋Œ€ํ•œ๋ฏผ๊ตญ ์„œ์šธํŠน๋ณ„์‹œ ๊ฐ•๋‚จ๊ตฌ ํ…Œํ—ค๋ž€๋กœ 124, 13์ธต

๐Ÿ’ก๊ฐ•๋‚จ์–ธ๋‹ˆ ํŒ€ ๊ฐœ๋ฐœ์ž๋Š” ์ด๋ ‡๊ฒŒ ์ผํ•ด์š”


๋ฐฐ์šฐ๊ณ  ๊ฒฝํ—˜ํ•˜๊ณ  ์„ฑ์žฅํ•ด์š”

์šฐ๋ฆฌ๋Š” ๋ฉˆ์ถ”์ง€ ์•Š๊ณ  ์„ฑ์žฅํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ฐ•๋‚จ์–ธ๋‹ˆ๋Š” '๋” ์ข‹์€ ์˜๋ฃŒ ์„œ๋น„์Šค๋ฅผ ๋ˆ„๊ตฌ๋‚˜ ๋ˆ„๋ฆด ์ˆ˜ ์žˆ๊ฒŒ'๋ผ๋Š” ๋ชฉํ‘œ๋ฅผ ์ด๋ฃจ๊ธฐ ์œ„ํ•ด ์‹œ์žฅ์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ์™”์Šต๋‹ˆ๋‹ค. ์ด์ œ ๊ทธ๋™์•ˆ๋ณด๋‹ค ๋” ํฌ๊ณ  ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ๋‚˜๊ฐ€๊ธฐ ์œ„ํ•ด ๊ฐ•๋‚จ์–ธ๋‹ˆ๋Š” ๊ฐœ๋ฐœ์ž๋ฅผ ๋น„๋กฏํ•œ ์ œํ’ˆ๊ฐœ๋ฐœ ์กฐ์ง ๊ตฌ์„ฑ์›๋“ค์˜ ์ง€์†์ ์ธ ์„ฑ์žฅ์ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•˜๋‹ค๊ณ  ํŒ๋‹จํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๊ธฐ์— ๊ฐ•๋‚จ์–ธ๋‹ˆ ๊ฐœ๋ฐœ์ž๋Š” ๋งˆ์ฃผํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ ๋งŒํผ์ด๋‚˜, ํ•ด๊ฒฐ ๊ณผ์ •์˜ ๊ฒฝํ—˜๊ณผ ์ƒˆ๋กœ์šด ์ง€์‹์˜ ํ•™์Šต์„ ํ†ตํ•ด ์„ฑ์žฅ์„ ์ด๋ฃจ๋ ค๊ณ  ๋…ธ๋ ฅํ•ฉ๋‹ˆ๋‹ค.


ํ˜‘์—…ํ•ด์š”

๊ฐ•๋‚จ์–ธ๋‹ˆ์˜ ๊ทธ ๋ˆ„๊ตฌ๋„ ํ˜ผ์ž์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ•๋‚จ์–ธ๋‹ˆ๋Š” ๋†’์€ ์ˆ˜์ค€์˜ ํ˜‘์—…์„ ์ถ”๊ตฌํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ทน๋„์˜ ํ˜‘์—…์„ ํ†ตํ•ด์„œ๋งŒ ๋›ฐ์–ด๋‚œ ํŒ€์ด ๋งŒ๋“ค์–ด์ง€๋ฉฐ ๋ฏธ์šฉ์˜๋ฃŒ ์‚ฐ์—…์˜ ํฌ๊ณ  ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋ฏฟ์Šต๋‹ˆ๋‹ค. ๊ฐ•๋‚จ์–ธ๋‹ˆ ๊ฐœ๋ฐœ์ž๋Š” ๋™๋ฃŒ ๊ฐœ๋ฐœ์ž, ๋””์ž์ด๋„ˆ, Product Owner์™€ ๊ธด๋ฐ€ํ•˜๊ฒŒ ํ˜‘์—…ํ•˜๋ฉฐ ํ˜ผ์ž์„œ๋Š” ํ’€์–ด๋‚ด๊ธฐ ์–ด๋ ค์šด ๋ฌธ์ œ๋“ค์„ ํ’€์–ด๋ƒ…๋‹ˆ๋‹ค.


๐Ÿ’ก์šฐ๋ฆฌ๋Š” ์ด๋Ÿฐ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด์š”


๊ฐ•๋‚จ์–ธ๋‹ˆ ํŒ€ iOS ๊ฐœ๋ฐœ์ž๋Š” ๋‹ค์Œ์˜ ๋„๊ตฌ๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•ด์š”. ๊ทธ ๋ฐ–์—๋„ ์ฃผ์–ด์ง„ ๋ฌธ์ œ์— ๋”ฐ๋ผ ๊ฐ€์žฅ ์ ํ•ฉํ•œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋„๊ตฌ๋ฅผ ๋„์ž…ํ•ฉ๋‹ˆ๋‹ค.
  • SwiftUI, Concurrency, TCA, Tuist, Combine


๐Ÿ“์ด๋Ÿฐ ๋ถ„์„ ๋ชจ์‹œ๊ณ  ์‹ถ์–ด์š”


๊ฐ•๋‚จ์–ธ๋‹ˆ๋Š” ๊ฒฝ๋ ฅ๋งŒ์œผ๋กœ ์ง€์› ์ž๊ฒฉ(์ฃผ๋‹ˆ์–ด, ์‹œ๋‹ˆ์–ด ๋“ฑ)์„ ๊ฒฐ์ •ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ๊ฐœ๊ฐœ์ธ์˜ ๊ฒฝํ—˜๊ณผ ์—ญ๋Ÿ‰์„ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
  • iOS ๊ฐœ๋ฐœ ๊ฒฝ๋ ฅ 3๋…„ ์ด์ƒ ๋˜๋Š” ๊ทธ์— ์ค€ํ•˜๋Š” ์‹ค๋ ฅ์„ ๊ฐ–์ถ”์‹  ๋ถ„
  • Swift ๊ธฐ๋ฐ˜์˜ ์•ฑ ๊ฐœ๋ฐœ ๋ฐ ์ถœ์‹œ ๊ฒฝํ—˜์ด ์žˆ์œผ์‹  ๋ถ„
  • iOS Platform์— ๋Œ€ํ•œ ํญ ๋„“์€ ์ดํ•ด๋ฅผ ๋ณด์œ ํ•˜์‹  ๋ถ„
  • iOS ์ตœ์‹  ๊ธฐ์ˆ  ๋ฐ ํŠธ๋ Œ๋“œ์— ๊ด€์‹ฌ์ด ๋งŽ์œผ์‹  ๋ถ„
  • TCA / MVVM / Clean Architecture ๋“ฑ ์•„ํ‚คํ…์ณ ์„ค๊ณ„์™€ ๋””์ž์ธ ํŒจํ„ด ์ ์šฉ ๊ฒฝํ—˜์ด ์žˆ์œผ์‹  ๋ถ„
  • ๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋Œ€ํ•œ ์ดํ•ด ๋ฐ Swift Concurrency ์‚ฌ์šฉ ๊ฒฝํ—˜์ด ์žˆ์œผ์‹  ๋ถ„


๐Ÿ“์ด๋Ÿฐ ์ ์ด ์žˆ๋‹ค๋ฉด ๋”์šฑ ์ข‹์•„์š”


  • ์˜คํ”ˆ์†Œ์Šค ๋“ฑ ๋‹ค์–‘ํ•œ ์ฝ”๋“œ ๋ฆฌ๋”ฉ ๊ฒฝํ—˜๊ณผ ๋ฆฌํŒฉํ† ๋ง์— ๊ฒฝํ—˜์ด ์žˆ์œผ์‹  ๋ถ„
  • ๋‹ค์–‘ํ•œ ๋””์ž์ธ ์š”๊ตฌ ์‚ฌํ•ญ๊ณผ UX์— ๊ด€์‹ฌ์ด ๋งŽ๊ณ  ํ”„๋กœํ† ํƒ€์ดํ•‘์„ ์ข‹์•„ํ•˜์‹œ๋Š” ๋ถ„
  • SwiftUI์— ๋Œ€ํ•œ ๋†’์€ ์ดํ•ด๋„๋ฅผ ๋ณด์œ ํ•˜์‹  ๋ถ„
  • ํƒ€ ์ง๊ตฐ๊ณผ์˜ ์›ํ™œํ•œ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๋Šฅ๋ ฅ์„ ๋ณด์œ ํ•˜์‹  ๋ถ„


๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘์ด๋Ÿฐ ๊ณผ์ •์œผ๋กœ ํ•ฉ๋ฅ˜ํ•ด์š”

์„œ๋ฅ˜์ง€์› โ†’ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ โ†’ 1์ฐจ ์ง๋ฌด ์ธํ„ฐ๋ทฐ(์˜จ๋ผ์ธ) โ†’ 2์ฐจ ์ง๋ฌด/ํ˜‘์—…/๋ฌธํ™” ์ธํ„ฐ๋ทฐ(์˜คํ”„๋ผ์ธ) โ†’ 3์ฐจ ๋ฐ”๋ ˆ์ด์ € ์ธํ„ฐ๋ทฐ(์˜คํ”„๋ผ์ธ) โ†’ ํ‰ํŒ์กฐํšŒ โ†’ ์ตœ์ข…ํ•ฉ๊ฒฉ
๊ณต์œ ํ•˜๊ธฐ
iOS ๊ฐœ๋ฐœ์ž

๐Ÿ’ก๊ฐ•๋‚จ์–ธ๋‹ˆ ํŒ€ ๊ฐœ๋ฐœ์ž๋Š” ์ด๋ ‡๊ฒŒ ์ผํ•ด์š”


๋ฐฐ์šฐ๊ณ  ๊ฒฝํ—˜ํ•˜๊ณ  ์„ฑ์žฅํ•ด์š”

์šฐ๋ฆฌ๋Š” ๋ฉˆ์ถ”์ง€ ์•Š๊ณ  ์„ฑ์žฅํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ฐ•๋‚จ์–ธ๋‹ˆ๋Š” '๋” ์ข‹์€ ์˜๋ฃŒ ์„œ๋น„์Šค๋ฅผ ๋ˆ„๊ตฌ๋‚˜ ๋ˆ„๋ฆด ์ˆ˜ ์žˆ๊ฒŒ'๋ผ๋Š” ๋ชฉํ‘œ๋ฅผ ์ด๋ฃจ๊ธฐ ์œ„ํ•ด ์‹œ์žฅ์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ์™”์Šต๋‹ˆ๋‹ค. ์ด์ œ ๊ทธ๋™์•ˆ๋ณด๋‹ค ๋” ํฌ๊ณ  ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ๋‚˜๊ฐ€๊ธฐ ์œ„ํ•ด ๊ฐ•๋‚จ์–ธ๋‹ˆ๋Š” ๊ฐœ๋ฐœ์ž๋ฅผ ๋น„๋กฏํ•œ ์ œํ’ˆ๊ฐœ๋ฐœ ์กฐ์ง ๊ตฌ์„ฑ์›๋“ค์˜ ์ง€์†์ ์ธ ์„ฑ์žฅ์ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•˜๋‹ค๊ณ  ํŒ๋‹จํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๊ธฐ์— ๊ฐ•๋‚จ์–ธ๋‹ˆ ๊ฐœ๋ฐœ์ž๋Š” ๋งˆ์ฃผํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ ๋งŒํผ์ด๋‚˜, ํ•ด๊ฒฐ ๊ณผ์ •์˜ ๊ฒฝํ—˜๊ณผ ์ƒˆ๋กœ์šด ์ง€์‹์˜ ํ•™์Šต์„ ํ†ตํ•ด ์„ฑ์žฅ์„ ์ด๋ฃจ๋ ค๊ณ  ๋…ธ๋ ฅํ•ฉ๋‹ˆ๋‹ค.


ํ˜‘์—…ํ•ด์š”

๊ฐ•๋‚จ์–ธ๋‹ˆ์˜ ๊ทธ ๋ˆ„๊ตฌ๋„ ํ˜ผ์ž์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ•๋‚จ์–ธ๋‹ˆ๋Š” ๋†’์€ ์ˆ˜์ค€์˜ ํ˜‘์—…์„ ์ถ”๊ตฌํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ทน๋„์˜ ํ˜‘์—…์„ ํ†ตํ•ด์„œ๋งŒ ๋›ฐ์–ด๋‚œ ํŒ€์ด ๋งŒ๋“ค์–ด์ง€๋ฉฐ ๋ฏธ์šฉ์˜๋ฃŒ ์‚ฐ์—…์˜ ํฌ๊ณ  ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋ฏฟ์Šต๋‹ˆ๋‹ค. ๊ฐ•๋‚จ์–ธ๋‹ˆ ๊ฐœ๋ฐœ์ž๋Š” ๋™๋ฃŒ ๊ฐœ๋ฐœ์ž, ๋””์ž์ด๋„ˆ, Product Owner์™€ ๊ธด๋ฐ€ํ•˜๊ฒŒ ํ˜‘์—…ํ•˜๋ฉฐ ํ˜ผ์ž์„œ๋Š” ํ’€์–ด๋‚ด๊ธฐ ์–ด๋ ค์šด ๋ฌธ์ œ๋“ค์„ ํ’€์–ด๋ƒ…๋‹ˆ๋‹ค.


๐Ÿ’ก์šฐ๋ฆฌ๋Š” ์ด๋Ÿฐ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด์š”


๊ฐ•๋‚จ์–ธ๋‹ˆ ํŒ€ iOS ๊ฐœ๋ฐœ์ž๋Š” ๋‹ค์Œ์˜ ๋„๊ตฌ๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•ด์š”. ๊ทธ ๋ฐ–์—๋„ ์ฃผ์–ด์ง„ ๋ฌธ์ œ์— ๋”ฐ๋ผ ๊ฐ€์žฅ ์ ํ•ฉํ•œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋„๊ตฌ๋ฅผ ๋„์ž…ํ•ฉ๋‹ˆ๋‹ค.
  • SwiftUI, Concurrency, TCA, Tuist, Combine


๐Ÿ“์ด๋Ÿฐ ๋ถ„์„ ๋ชจ์‹œ๊ณ  ์‹ถ์–ด์š”


๊ฐ•๋‚จ์–ธ๋‹ˆ๋Š” ๊ฒฝ๋ ฅ๋งŒ์œผ๋กœ ์ง€์› ์ž๊ฒฉ(์ฃผ๋‹ˆ์–ด, ์‹œ๋‹ˆ์–ด ๋“ฑ)์„ ๊ฒฐ์ •ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ๊ฐœ๊ฐœ์ธ์˜ ๊ฒฝํ—˜๊ณผ ์—ญ๋Ÿ‰์„ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
  • iOS ๊ฐœ๋ฐœ ๊ฒฝ๋ ฅ 3๋…„ ์ด์ƒ ๋˜๋Š” ๊ทธ์— ์ค€ํ•˜๋Š” ์‹ค๋ ฅ์„ ๊ฐ–์ถ”์‹  ๋ถ„
  • Swift ๊ธฐ๋ฐ˜์˜ ์•ฑ ๊ฐœ๋ฐœ ๋ฐ ์ถœ์‹œ ๊ฒฝํ—˜์ด ์žˆ์œผ์‹  ๋ถ„
  • iOS Platform์— ๋Œ€ํ•œ ํญ ๋„“์€ ์ดํ•ด๋ฅผ ๋ณด์œ ํ•˜์‹  ๋ถ„
  • iOS ์ตœ์‹  ๊ธฐ์ˆ  ๋ฐ ํŠธ๋ Œ๋“œ์— ๊ด€์‹ฌ์ด ๋งŽ์œผ์‹  ๋ถ„
  • TCA / MVVM / Clean Architecture ๋“ฑ ์•„ํ‚คํ…์ณ ์„ค๊ณ„์™€ ๋””์ž์ธ ํŒจํ„ด ์ ์šฉ ๊ฒฝํ—˜์ด ์žˆ์œผ์‹  ๋ถ„
  • ๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋Œ€ํ•œ ์ดํ•ด ๋ฐ Swift Concurrency ์‚ฌ์šฉ ๊ฒฝํ—˜์ด ์žˆ์œผ์‹  ๋ถ„


๐Ÿ“์ด๋Ÿฐ ์ ์ด ์žˆ๋‹ค๋ฉด ๋”์šฑ ์ข‹์•„์š”


  • ์˜คํ”ˆ์†Œ์Šค ๋“ฑ ๋‹ค์–‘ํ•œ ์ฝ”๋“œ ๋ฆฌ๋”ฉ ๊ฒฝํ—˜๊ณผ ๋ฆฌํŒฉํ† ๋ง์— ๊ฒฝํ—˜์ด ์žˆ์œผ์‹  ๋ถ„
  • ๋‹ค์–‘ํ•œ ๋””์ž์ธ ์š”๊ตฌ ์‚ฌํ•ญ๊ณผ UX์— ๊ด€์‹ฌ์ด ๋งŽ๊ณ  ํ”„๋กœํ† ํƒ€์ดํ•‘์„ ์ข‹์•„ํ•˜์‹œ๋Š” ๋ถ„
  • SwiftUI์— ๋Œ€ํ•œ ๋†’์€ ์ดํ•ด๋„๋ฅผ ๋ณด์œ ํ•˜์‹  ๋ถ„
  • ํƒ€ ์ง๊ตฐ๊ณผ์˜ ์›ํ™œํ•œ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๋Šฅ๋ ฅ์„ ๋ณด์œ ํ•˜์‹  ๋ถ„


๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘์ด๋Ÿฐ ๊ณผ์ •์œผ๋กœ ํ•ฉ๋ฅ˜ํ•ด์š”

์„œ๋ฅ˜์ง€์› โ†’ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ โ†’ 1์ฐจ ์ง๋ฌด ์ธํ„ฐ๋ทฐ(์˜จ๋ผ์ธ) โ†’ 2์ฐจ ์ง๋ฌด/ํ˜‘์—…/๋ฌธํ™” ์ธํ„ฐ๋ทฐ(์˜คํ”„๋ผ์ธ) โ†’ 3์ฐจ ๋ฐ”๋ ˆ์ด์ € ์ธํ„ฐ๋ทฐ(์˜คํ”„๋ผ์ธ) โ†’ ํ‰ํŒ์กฐํšŒ โ†’ ์ตœ์ข…ํ•ฉ๊ฒฉ
์ง๊ตฐ๊ฐœ๋ฐœ
๊ฒฝ๋ ฅ์‚ฌํ•ญ๊ฒฝ๋ ฅ 3๋…„ ์ด์ƒ
๊ณ ์šฉํ˜•ํƒœ์ •๊ทœ์ง
๊ทผ๋ฌด์ง€๋Œ€ํ•œ๋ฏผ๊ตญ ์„œ์šธํŠน๋ณ„์‹œ ๊ฐ•๋‚จ๊ตฌ ํ…Œํ—ค๋ž€๋กœ 124, 13์ธต
๊ณต์œ ํ•˜๊ธฐ
made with Greeting