๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

IOS๐ŸŽ/์•„ํ‚คํ…์ณ6

[์•„ํ‚คํ…์ณ] RIBs๋ž€ RIBs๋ž€ ์šฐ๋ฒ„์—์„œ ๋งŒ๋“  ์•„ํ‚คํ…์ณ์ž…๋‹ˆ๋‹ค. ์‚ฌ์‹ค ์ž‘๋…„์— ํŠœํ† ๋ฆฌ์–ผ 1์„ ์กฐ๊ธˆ ๋”ฐ๋ผํ•ด๋ณด๊ธดํ–ˆ๋Š”๋ฐ .. ๋˜๊ฒŒ ๋ณต์žก๋ณต์žกํ–ˆ๋˜ ๊ธฐ์–ต๋งŒ ๋‚จ์•„์žˆ๋Š”๊ฑฐ ๊ฐ™์•„์š” ... ๊ทธ๋ž˜์„œ RIBs๋ฅผ ์ด๋ฃจ๋Š” ๊ธฐ๋ณธ ๊ฐœ๋…์— ๋Œ€ํ•ด ํŠœํ† ๋ฆฌ์–ผ2๊นŒ์ง€ ๋ณด์•˜๊ฒ ๋‹ค ๋‹ค์‹œํ•œ๋ฒˆ ์ •๋ฆฌ ํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค ์ด๋ฒˆ์— ํ”„๋กœ์ ํŠธ๋•Œ ๊ผญ ์ ์šฉํ•ด๋ณด๋ ค๊ตฌ์š” !! What are RIBs For? RIBs๋Š” ์šฐ๋ฒ„์˜ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์•„ํ‚คํ…์ณ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. RIBs๋Š” ๋งŽ์ด ์–ฝํ˜€์žˆ๋Š” state๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ํฐ ๋ชจ๋ฐ”์ผ ์•ฑ์„ ์œ„ํ•ด ๋””์ž์ธ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฒ„๋ฅผ ์œ„ํ•œ ์ด ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋””์ž์ธ ํ• ๋•Œ ์•„๋ฆฌ ์›์น™์„ ์ค€์ˆ˜ํ•˜๊ณ ์ž ํ•˜์˜€์Šต๋‹ˆ๋‹ค. Encourage Cross-Platform Collaboration : ์šฐ๋ฆฌ ์•ฑ์˜ ๋ณต์žกํ•œ ๋ถ€๋ถ„์€ ๋Œ€๋ถ€๋ถ„ iOS์™€ Android์—์„œ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค. RIBs๋Š” Androi.. 2022. 5. 6.
[์•„ํ‚คํ…์ณ] ReactorKit์ด๋ž€ ๋ฐฐ์šธ๊ฒŒ ์ •๋ง ๋งŽ๋‹ค ..! ํ•˜๋‚˜ ํ•˜๋‚˜ ์•„ํ‚คํ…์ณ๋“ค์„ ์•Œ์•„๊ฐ€๋ฉด์„œ MVx ์™ธ์˜ ์•ฑ ์•„ํ‚คํ…์ณ ๊ฐœ๋…์ด ์ ์  ๊ตฌ์ฒดํ™”๋˜๋Š”๊ฑฐ ๊ฐ™๋‹ค. ์ด๋ฒˆ์—๋Š” reactorKit ๋„ํ๋จผํŠธ๋ฅผ ์ฝ์–ด๋ณด๊ณ  ๋‹ค๋ฅธ ์•„ํ‚คํ…์ณ์™€ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ์ง€ ์•Œ์•„๋ณด๋ ค๊ตฌ ํ•œ๋‹ค !! ์ฐธ๊ณ  : https://github.com/ReactorKit/ReactorKit GitHub - ReactorKit/ReactorKit: A library for reactive and unidirectional Swift applications A library for reactive and unidirectional Swift applications - GitHub - ReactorKit/ReactorKit: A library for reactive and unidirectional S.. 2022. 4. 24.
[์•„ํ‚คํ…์ณ] MVP ๋ž€ ์˜ค๋Š˜์€ MVx ํŒจํ„ด ์ค‘ MVP ํŒจํ„ด์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋ ค๊ตฌ ํ•œ๋‹ค!! ์ „์— ์žˆ๋˜ ํŒ€์—์„œ MVP ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ ์ค‘์ด์—ˆ๋Š”๋ฐ ์ด๋•Œ ViewController ๋ง๊ณ  Presenter ํŒŒ์ผ์„ ํ•˜๋‚˜ ๋” ๋งŒ๋“ค์–ด ํŒŒ์ผ์ด ์ •๋ง ๋งŽ์•˜์—ˆ๋˜ ๊ฒฝํ—˜์— ์ด์–ด MVP ํŒจํ„ด์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜๊ณ ์ž ํ•œ๋‹ค. MVP ํŒจํ„ด Model, View, Presenter 3๊ฐ€์ง€๋กœ ์ด๋ฃจ์–ด์ง„ ํŒจํ„ด์ด๋‹ค. MVC ํŒจํ„ด๊ณผ ๋‹ค๋ฅด๊ฒŒ Presenter์˜ ๊ฐœ๋…์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ MVC ํŒจํ„ด์„ ํ™œ์šฉํ•ด ๊ฐœ๋ฐœ์„ ํ•˜๋‹ค๋ณด๋ฉด Controller๊ฐ€ View์™€ ๋ฐ€์ ‘ํ•˜๊ฒŒ ์—ฐ๊ด€๋˜์–ด View+Controller ์˜ ๊ผด๋กœ ํ•ฉํ•˜์—ฌ ๊ฐœ๋ฐœ๋˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋‹ค. ViewController๊ฐ€ ์ง€๋‹Œ ์ƒ๋ช…์ฃผ๊ธฐ ์—ญ์‹œ ๊ณ ๋ คํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์— ์žˆ์–ด Controller๊ฐ€ ๋”์šฑ์ด ๋น„๋Œ€ํ•ด์ง„๋‹ค. .. 2022. 1. 6.
[์•„ํ‚คํ…์ณ] MVVM (clean-architecture) ์ด๋ž€ ์˜ค๋Š˜์€ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๋Š” MVVM ํŒจํ„ด์— ๋Œ€ํ•ด ๋‹ค์‹œ ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด๋ ค๊ตฌ ํ•œ๋‹ค. ๊ธฐ์กด MVC ํŒจํ„ด์ด View์™€ Controller ๊ฐ„ ๋ถ„๋ฆฌ๊ฐ€ ๋˜์ง€ ์•Š์•„ ๋น„๋Œ€ํ•ด์ง„๋‹ค๋Š” ๋ฌธ์ œ์ ์ด ์žˆ์—ˆ๋‹ค. MVVM ํŒจํ„ด์€ view, view model, model ์ด๋ ‡๊ฒŒ 3๊ฐ€์ง€ ๋ถ„๋ฆฌ๋ฅผ ํ†ตํ•ด ๊ทธ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•œ๋‹ค ์•ž์œผ๋กœ๋Š” model์˜ ๋ณ€ํ™”๋ฅผ view model์ด ์ฑ…์ž„์ง€๊ณ  view๋Š” model๊ฐ€ ์ง์ ‘์ ์ธ ์—ฐ๊ฒฐ ์—†์ด view model์„ ํ†ตํ•ด view ์ž์‹ ์„ ์—…๋ฐ์ดํŠธ ํ•œ๋‹ค. ์—ฌ๊ธฐ๊นŒ์ง€๋Š” ๋‚ด๊ฐ€ ์•Œ๊ณ  ์žˆ๋˜ MVVM ํŒจํ„ด์ด์—ˆ๊ตฌ MVVM ํŒจํ„ด์— Repository ?? ๋ฅผ ์“ฐ๋Š” ๊ฒฝ์šฐ๋ฅผ ๋ฐœ๊ฒฌํ•ด์„œ ๊ถ๊ธˆํ•ด์„œ ์ •๋ฆฌ ํ•ด๋ณด๋ ค๊ณ  ๋งˆ์Œ ๋จน๊ฒŒ ๋˜์—ˆ๋‹ค. ์•„๋ž˜ ๊นƒํ—™์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ตฌ ํ•œ๋‹ค. https://github.com/kudoleh/iOS-Clean-Ar.. 2021. 12. 22.
[์•„ํ‚คํ…์ณ] Viper ๋ž€ ์š”์ฆ˜ mvvm ํŒจํ„ด์ด ๋ฌด์—‡์ธ์ง€ ์•Œ๊ณ  ๋‚˜๋‹ˆ๊นŒ๋Š” ๋˜ ๋‹ค๋ฅธ ์•„ํ‚คํ…์ณ๋Š” ์—†๋‚˜ ๋งˆ๊ตฌ ๊นƒํ—™์„ ์ฐพ์•„๋ณด๋Š” ์ค‘์ด๋‹ค ์ž ๊น ์—ฌ์œ ๊ฐ€ ์ƒ๊ฒจ์„œ (๊ณง ๊ธฐ๋ง๊ณ ์‚ฌ + ๊ณผ์ œ + ํ…์Šค ์…ค .. ํฌํ ) viper ์•„ํ‚คํ…์ณ์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ณด๋ ค๊ตฌ ํ•œ๋‹ค !! viper ์•„ํ‚คํ…์ณ๋Š” ์ดˆ๋ฉด์€ ์•„๋‹ˆ๋‹ค ๊ทธ๋ ‡๋‹ค๊ณ  ๊ตฌ๋ฉด๋„ ์•„๋‹ˆ์ง€๋งŒ์€ ํ•˜ํ•˜ ์š”๊ฑธ ๊นƒํ—™ ์Šคํƒ€์— ์ฐœํ•ด๋‘”๊ฒŒ ์ƒ๊ฐ๋‚˜์„œ ํŒจํ„ด์„ ์กฐ๊ธˆ ์‚ดํŽด๋ณด๊ณ  ์˜ˆ์ œ๋กœ๋„ ์‹ค์Šตํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. https://github.com/MindorksOpenSource/iOS-Viper-Architecture GitHub - MindorksOpenSource/iOS-Viper-Architecture: This repository contains a detailed sample app that implements VIPER archite T.. 2021. 11. 29.
[์•„ํ‚คํ…์ณ] RiBs tutorial1 ๋”ฐ๋ผํ•˜๊ธฐ RIBs๋ž€ ์šฐ๋ฒ„์—์„œ ๋งŒ๋“  cross ์•„ํ‚คํ…์ณ ํŒจํ„ด์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค https://github.com/uber/RIBs GitHub - uber/RIBs: Uber's cross-platform mobile architecture framework. Uber's cross-platform mobile architecture framework. - GitHub - uber/RIBs: Uber's cross-platform mobile architecture framework. github.com rib ์ด๋ฆ„์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด router, interactor, builder ์ด ์„ธ๊ฐ€์ง€๊ฐ€ ํ•ต์‹ฌ์ด๊ตฌ ์ด๋“ค์„ ์ฐจ์ฐจ ์‚ดํŽด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค ! ๊ทธ์ค‘ ์˜ค๋Š˜์€ tutorial1์„ ์šฐ๋ฒ„์—์„œ ์ œ๊ณตํ•œ wiki์™€ ํ•จ๊ป˜ ์ž์„ธํžˆ ๋”ฐ๋ผ ํ•ด.. 2021. 11. 13.