๐ ํด๋น ์ฃผ์ ๋ก ํฌ์คํ ํ ๊ธ ๋ชจ์
- Tuist ๋ชจ๋ํ ์ ์ฉํ๊ธฐ #1
- Tuist ๋ชจ๋ํ ์ ์ฉํ๊ธฐ #2
- HealthKit์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ๋ฐ์ดํฐ ์ ๋ฆฌ
- Tuist๋ก Micro Architecture ์ ์ฉํ๊ธฐ
- ๋ํ๋ง 13๊ธฐ iOS ํํธ ํ๊ณ
Micro Feature Architecture์ ๋ฐฑ์๋์ Micro Service(Martinfowler ๊ณต์๋ฌธ์)์ ๊ฐ๋ ์ผ๋ก๋ถํฐ ์ ๋๋์์ต๋๋ค. Tuist ๊ณต์๋ฌธ์์์ ๊ฐ๊ด์ ์ธ ๊ฐ๋ ์ ํ์ธํ ์ ์์ต๋๋ค.
"์ด๋ผ ๊ทธ๊ฑฐ ๋ฐฑ์๋ ๊ฐ๋
์๋์ผ ?"
"๊ฒจ์ฐ ์ฌ์ด๋์์ ๊ทธ๋ด๊ฒ ์ ํ์ํด ?"
์ ํฌ ํ์ ๋๊ท๋ชจ ์๋น์ค๋ฅผ ์ํ Micro Feature Architecture์ ๊ตฌ์ฑํ์์ต๋๋ค. ๊ตณ์ด ํ ํ์ ์๋ ์์ ์ด๋ผ๊ณ ์๊ฐ์ด ๋ค ์ ์์ต๋๋ค. ๋น์์ ์ฐธ๊ณ ํ ๋งํ ์ํ์ด ์กด์ฌํ์ง ์์๊ณ ์ ํฌ๋ ์ํ์ฑ์ด ๋๊ณ ์ ํ๊ณ , ๋ ธ๋ ฅ์ ๊ณผ์ ์ ๊ธฐ๋กํ๊ณ ์ ํฉ๋๋ค. ์์ผ๋ก ๋ฆฌํํ ๋ง์ ํ ์ง ๋ง์ง๋ ๊ฒฐ์ ๋ ์ฌํญ์ด ์์ต๋๋ค. ๋๊ตฐ๊ฐ ์ด ์ํ์ ํตํด์ ๊ณ์ํด์ ๋ฐ์ ์์ผ ๋๊ฐ์ผ๋ฉด ํฉ๋๋ค.
์ด์์ ๋๋ค -
Tuist๋ก Micro Architecture ์ ์ฉํ๊ธฐ ์ ํฌ๊ฐ ์์ฑํ ๋ธ๋ก๊ทธ์์ ์์ธํ ๋ด์ฉ์ ๋ชจ๋ ํ์ธํ ์ ์์ต๋๋ค.
๊ณ์ธต ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- Feature: ๊ธฐ๋ฅ
- Domain: ๋ชจ๋ธ
- Core: ํ ํ๋ฆฟ
- Shared: ๊ณต์ฉ ๋ชจ๋
ํ๊ฒ ํ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- Example: ์ํ ์ฑ
- Implement: ๊ตฌํ๋ถ
- Tests: ํ ์คํธ
- Testing: ํ ์คํธ๋ฅผ ์ํ ๋ชฉ์
- Interface: ์ธํฐํ์ด์ค
๋ํ๋์ ๊ทธ๋ํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
watch OS ๊ฐ๋ฐ์ ์ํด ์ฌ์ฉ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- Dependency
Library Description SwiftUI UI ์์ฑ HealthKit ๊ฑด๊ฐ ๋ฐ์ดํฐ ์ ๊ทผ WatchConnectivity WachOS์ iOS ๊ฐ ํต์ The Composable Architecture (TCA) ์ํคํ ์ณ ์ ์ฉ
iOS์ ๊ฑด๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ด์ HealthKit ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์, ๊ธฐํ ๋จ์์ ์ฌ์ฉ๊ฐ๋ฅํ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฆฌํ ๊ธ์ ์์ฑํ์์ต๋๋ค.
HealthKit์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ๋ฐ์ดํฐ ์ ๋ฆฌ ์ ํฌ๊ฐ ์์ฑํ ๋ธ๋ก๊ทธ์์ ์์ธํ ๋ด์ฉ์ ๋ชจ๋ ํ์ธํ ์ ์์ต๋๋ค.