๋ฐ˜์‘ํ˜•

iOS/์•„ํ‚คํ…์ฒ˜ 2

[์•„ํ‚คํ…์ฒ˜] ReactorKit์— ๋Œ€ํ•ด์„œ(feat.Flux)

์•ˆ๋…•ํ•˜์„ธ์š”. ์˜ค๋Š˜์€ ReactorKit์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ReactorKit? ReactorKit์˜ ๊นƒํ—ˆ๋ธŒ์— ๋“ค์–ด๊ฐ€ ๋ณด๋ฉด ์†Œ๊ฐœ๊ธ€์˜ ์ฒซ ๋ฌธ์žฅ์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ReactorKit is a framework for a reactive and unidirectional Swift application architecture. - ReactorKit์€ ๋ฐ˜์‘ํ˜• ๋ฐ ๋‹จ๋ฐฉํ–ฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ๋ฐ˜์‘ํ˜•์ด๋ผ๋Š” ๋‹จ์–ด๋งŒ ๋ด๋„ Reactive Programming์„ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋ผ๋Š” ๊ฑธ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— ๋‹จ๋ฐฉํ–ฅ์ด๋ผ๋Š” ๋ง์€ ์กฐ๊ธˆ ์–ด์ƒ‰ํ•˜๊ธฐ๋„ ํ•˜๊ณ  ์‰ฝ๊ฒŒ ๋ญ”๊ฐ€๋ฅผ ๋– ์˜ฌ๋ฆฌ๊ธฐ ์–ด๋ ค์› ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๊นƒํ—ˆ๋ธŒ๋ฅผ ์กฐ๊ธˆ ๋” ๋“ค์—ฌ๋‹ค๋ณด๋ฉด ReactorKit์€ Flux(๋‹จ๋ฐฉํ–ฅ ํ๋ฆ„์˜ ์•„ํ‚คํ…์ฒ˜) ..

[์•„ํ‚คํ…์ฒ˜] Clean Architecture(ํด๋ฆฐ ์•„ํ‚คํ…์ฒ˜)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ(feat.DIP)

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

๋ฐ˜์‘ํ˜•