๋ง์ ์์ ์์ง๋์ด์ nested states๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ mobile app Cross-platform Architecture
RIBs์ ์ด๋ฆ์ Router, Interactor, Builder์ ์ฝ์์ด๋ค. ๊ณต์ github์์๋ ๋ค์์ ๊ฒ๋ค์ ์ฅ์ ์ผ๋ก ๋ด์ธ์ฐ๊ณ ์๋ค.
- Android์ iOS์ ์ํคํ
์ณ๋ฅผ ๊ณต์ ํ ์ ์๋ค.
- ๋น์ทํ ์ํคํ ์ณ๋ฅผ ๊ฐ์ง ์ ์์ด business logic์ ๋ํด cross review๊ฐ ๊ฐ๋ฅํ๋ค.
- Test๊ฐ๋ฅํ๋ฉฐ, ๊ฒฉ๋ฆฌ๋์ด ์๋ค.
- ๊ฐ๋ณ์ ์ธ RIB์ ๊ฐ๊ฐ์ ์ฑ ์์ ๊ฐ์ง๊ณ ์๋ค. ๊ฑฐ๊ธฐ๋ค๊ฐ Child RIB ๋ก์ง๊ณผ๋ ๋ถ๋ฆฌ๋์ด ์๋ค. ์ด๋ฌํ ์ ์์ ๋ ๋ฆฝ์ ์ผ๋ก ์กด์ฌํ ์ ์๋ค.
- ๊ฐ๋ฐ์์ ์์ฐ์ฑ์ ์ํ ๋๊ตฌ์ด๋ค.
- RIBs์๋ ์ฝ๋ ์์ฑ, ์ ์ ๋ถ์ ๋ฐ runtimeย integrations์ ๋ํ IDE ํด๋ง์ด ํจ๊ป ์ ๊ณต๋๋ฉฐ, ์ด ํด์ ํฌ๊ณ ์์ ํ์ ๊ฐ๋ฐ์ ์์ฐ์ฑ์ ํฅ์์ํจ๋ค.
- ํ์ฅ๊ฐ๋ฅํ ์ํคํ
์ณ์ด๋ค.
- ๋ง์ ์์ง๋์ด์ ํจ๊ป ๊ฐ์ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๊ฐ์ง๊ณ ์์ ํ ์ ์์์ด ์ฆ๋ช ๋์๋ค.
- Open-Closed Principle
- ๊ฐ๋ฐ์๋ ๊ฐ๋ฅํ๋ฉด ๊ธฐ์กด ์ฝ๋๋ฅผ ์์ ํ์ง ์๊ณ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐ ํ ์ ์์ด์ผ ํ๋ค. RIBs๋ฅผ ์ฌ์ฉํ๋ฉด ๋ช ๊ตฐ๋ฐ์ ๋ณผ ์ ์์ฃ . ์๋ฅผ๋ค์ด ๋ถ๋ชจ RIB์ ๊ฑฐ์ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ถ๋ชจ์ ์ข ์์ฑ์ด ํ์ํ ๋ณต์กํ ์์ RIB์ attachํ๊ฑฐ๋ buildํ ์ ์๋ค.
์ฌ์ค ์ค์ ๋ก Tutorial์ ์งํํด๋ณด๋ ๊ฒ์ด ๋ ์ดํด๊ฐ ์ฝ๋ค. ์ฌ๊ธฐ์๋ ํํ ๋ฆฌ์ผ์ ์งํํ๋ฉด์ ์ ๊ทธ๋ ค์ง์ง ์์๋ ๊ตฌ์กฐ๋ฅผ ๊ทธ๋ฆผ์ผ๋ก ๋ํ๋ด์ด ํธ์ถ ํ๋ฆ์ ์ดํดํ๋๋ฐ ๋์์ ์ฃผ๊ธฐ ์ํ ๋ชฉ์ ์ผ๋ก ์์ฑํ๋ค.