DIY Server Driven UI: A 4-Year Journey in Mobile App Innovation by HARRIET TAYLOR & JIMMY RAY
์๋ฒ ์ฃผ๋ UI: ์๊ฐ ๋ฐ ํ ์ญํ
์น์ ๊ฐ์: ์ด ์น์ ์์๋ ์๋ฒ ์ฃผ๋ UI์ ๊ฐ๋ ์ ๋ํด ์๊ฐํ๊ณ , ํ์ด ์ํํ๋ ์ญํ ์ ๋ํ ๊ฐ๋ตํ ์ค๋ช ์ ์ ๊ณตํฉ๋๋ค.
์๋ฒ ์ฃผ๋ UI ์ํคํ ์ฒ
- ๋ค์ดํฐ๋ธ ์ฑ์ ์ํ ์ํคํ ์ฒ๋ก, UI ์ ์๋ฅผ ์๋ฒ์์ ๊ตฌ์ถํ๊ณ ํด๋ผ์ด์ธํธ๋ก ์ ์กํจ
- ํด๋ผ์ด์ธํธ ๋ฆด๋ฆฌ์ค์ ์ ๋ฐ์ดํธ๋ฅผ ์ค์ฌ์ฃผ๋ฉฐ, ์ฝํ๋ฆฐ์ผ๋ก 4๋ ๊ฐ ์ง์ ๊ตฌ์ถํ ๊ฒฝํ ๊ณต์
- ์๋๋ก์ด๋ ๋ค์ดํฐ๋ธ ๋ชจ๋ฐ์ผ ์ฑ ๊ด๋ฆฌ ๋ฐ ๊ฒ์ดํธ์จ์ด ์๋น์ค ๋ด๋น
Auto Trader: ํ์ฌ ์๊ฐ ๋ฐ ๊ธฐ์ ์ ์ธก๋ฉด
์น์ ๊ฐ์: Auto Trader์ ํ์ฌ ์๊ฐ์ ๊ธฐ์ ์ ์ธก๋ฉด์ ๋ํด ์ค๋ช ํ๋ฉฐ, ํ์ฌ์ ์ญ์ฌ์ ํ์ฌ ์ํฉ์ ๋ค๋ฃฌ๋ค.
Auto Trader ์๊ฐ
- ์๊ตญ ์ต๋ ๋์งํธ ์๋์ฐจ ๊ฑฐ๋ ์์ฅ ์ด์
- 1996๋ ์ฒซ ์น์ฌ์ดํธ ์ถ์ ์ดํ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ด์
- ํ๋ฃจ์ 18๋ฐฑ๋ง ๋์ ์ฐจ๋ ๊ฒ์ ์ ๊ณต, ์ฝ 8000๋ง ๋ช ์ ๋ฐฉ๋ฌธ์๊ฐ ๋งค์ ๋ฐ์
์ ํ๋ฆฌ์ผ์ด์ ๋๋ฉ์ธ ๋ฐ ๋ฌธ์ ์
์น์ ๊ฐ์: Auto Trader ์ ํ๋ฆฌ์ผ์ด์ ๋๋ฉ์ธ๊ณผ ํ์ฌ ์ง๋ฉดํ ๋ฌธ์ ์ ์ ๋ํด ๋ค๋ฃฌ๋ค.
์ ํ๋ฆฌ์ผ์ด์ ๋๋ฉ์ธ ๋ถ์
- ์๋๋ก์ด๋์ iOS์ฉ ๋ค์ดํฐ๋ธ ์ฑ ํด๋ผ์ด์ธํธ ๋น๊ต
- ์ฝ๋ ์์ฑ๊ณผ ํ ์คํธ๊ฐ ๋ ๋ฒ ํ์ํ๋ฉฐ ๋กค๋ฐฑ ๋ถ๊ฐ๋ฅํ ํ๊ฒฝ์ผ๋ก ์ธํ ์ง์ฐ ๋ฌธ์ ๋ฐ์
๋ฆด๋ฆฌ์ค ํ๋ก์ธ์ค ๋ฐ ํด๊ฒฐ ๋ฐฉ์ ํ๊ตฌ
์น์ ๊ฐ์: ๋ฆด๋ฆฌ์ค ํ๋ก์ธ์ค์ ๋ณต์ก์ฑ๊ณผ ์ง์ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ฐฉ์์ ์กฐ์ฌํ๋ค.
๋ฆด๋ฆฌ์ค ํ๋ก์ธ์ค ๋ถ์
- ์ฌ์ฉ์๋ค์๊ฒ ๋ณ๊ฒฝ ์ฌํญ ์ ๋ฌ๊น์ง ์ต๋ ํ ๋ฌ๊น์ง ๊ฑธ๋ฆด ์ ์๋ ๋ณต์ก์ฑ ํ์
์๋ฒ ์ฃผ๋ UI ๋์ ๊ฒฐ์
์น์ ๊ฐ์: ์ด ์น์ ์์๋ ํ์ฌ๊ฐ ์๋ฒ ์ฃผ๋ UI๋ฅผ ๋์ ํ๊ธฐ๋ก ๊ฒฐ์ ํ ๋ฐฐ๊ฒฝ๊ณผ ๊ทธ์ ๋ฐ๋ฅธ ๋ณํ์ ๋ํด ์ค๋ช ํฉ๋๋ค.
Flutter ๋ฐ ์น ๋ทฐ ๊ณ ๋ ค
- ์ฑ์ ์์ ํ ์ฌ์์ฑ์ ์๊ฐ์ด ๋ง์ด ์์๋ ๊ฒ์ผ๋ก ํ๋จ๋์ด ํ๋ฌํฐ(Flutter)์ ์น ๋ทฐ(Web Views)๋ฅผ ๊ณ ๋ คํจ.
- ํ๋ฌํฐ๋ ๊ตฌ๊ธ์ ์คํ ์์ค ํ๋ ์์ํฌ๋ก, ๋ฉํฐํ๋ซํผ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋์ ์ฝ๋ ๋ฒ ์ด์ค๋ก ๊ตฌ์ถํ ์ ์๊ฒ ํด์ค.
์๋ฒ ์ฃผ๋ UI์ ์ฅ์
- Spotify ๋ฑ์ ๊ธฐ์ ๋ค์ด ์๋ฒ ์ฃผ๋ UI๋ฅผ ์ฑํํ๋ฉฐ ๋ฌธ์ ํด๊ฒฐ์ ํฐ ๋์์ ๋ฐ์์.
- ํด๋ผ์ด์ธํธ ๊ธฐ๋ฐ UI ์์ ์์ ๋ฐ์ํ๋ ์ค๋ณต ์์ ์ ์ค์ฌ ์ ์ฐ์ฑ์ ํ๋ณดํ๊ณ , ํ๋ก์ธ์ค ๊ฐ์ํ ๋ฐ ๊ฐ์ํ๋ฅผ ๊ฒฝํํจ.
Composable: ์๋ฒ ์ฃผ๋ UI ์์คํ ๋ช ๋ช
์น์ ๊ฐ์: Composable๋ผ๋ ์๋ฒ ์ฃผ๋ UI ์์คํ ๋ช ์นญ ์ ํ๊ณผ ์ด์ ๋ฐ๋ฅธ ์์คํ ์๊ตฌ ์ฌํญ์ ๋ํด ๋ค๋ฃธ.
Composable ์์คํ ๋ช ๋ช
- Design Systems์ ํ๋ ฅํ์ฌ Composable ์์คํ ๋ช ๋ช ๊ฒฐ์ .
- Swift UI ๋ฐ Jetpack Compose ๋ฑ ๋ค์ดํฐ๋ธ ํ๋ซํผ์ UI ํคํธ ํ์ ํ Android์ฉ Jetpack Compose ์ ํ.
์๊ตฌ ์ฌํญ
- Design System ์ ์๋ฅผ ๋ฐํ์ผ๋ก ํด๋ผ์ด์ธํธ๋ก ์ ์กํ ์ปดํฌ๋ํธ ๊ฒฐ์ .
Java์ ์๋ก์ด ๊ธฐ๋ฅ ์๊ฐ
์ด ์น์ ์์๋ Java์ ์๋ก์ด ๊ธฐ๋ฅ์ ๋ํด ์๊ฐํ๊ณ ์์ต๋๋ค.
Java์ ๊ธฐ๋ฅ
- ๊ฐ์ฒด ์งํฅ์ ์ด๊ณ ํจ์ํ์ด๋ฉฐ ํ์ ์์ ํ Java๋ฅผ ํตํด ๋น์ฆ๋์ค๊ฐ ์ฑ ์ ์์ ์ฐธ์ฌํ ์ ์๋๋ก ํ๋ ๊ฒ์ด ํต์ฌ ์์ด๋์ด์ ๋๋ค.
- Kotlin Multiplatform์ ํ์ฉํ์ฌ Java๋ฟ๋ง ์๋๋ผ JavaScript ๋ฐ ๋ค๋ฅธ ์ฌ๋ฌ ์ธ์ด์ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฆด๋ฆฌ์ค ์ ๋ต๊ณผ ์์คํ ์ค๊ณ
๋ฆด๋ฆฌ์ค ์ ๋ต๊ณผ ์์คํ ์ค๊ณ์ ๋ํ ๋ ผ์๊ฐ ์งํ๋ฉ๋๋ค.
๋ฆด๋ฆฌ์ค ์ ๋ต
- ์ด๊ธฐ์ ๋ชจ๋ ๊ฒ์ ์๋ฒฝํ๊ฒ ๋ง๋ค๋ ค๋ ์๊ตฌ๊ฐ ํ๋ก์ ํธ๋ฅผ ์ ์ฝํ์ต๋๋ค.
- Agile ๋ฐฉ์์ผ๋ก ์ค์ผ์ผ์ ์ค์ฌ ํ์ฌ ํ์ํ ๋ถ๋ถ๋ง ๊ตฌ์ถํ๊ธฐ๋ก ๊ฒฐ์ ํ์์ต๋๋ค.
์์คํ ์ํคํ ์ฒ ๋ณ๊ฒฝ
์์คํ ์ํคํ ์ฒ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํ ์์ธ ๋ด์ฉ์ ๋ค๋ฃจ๊ณ ์์ต๋๋ค.
์์คํ ์ํคํ ์ฒ
- ์ด์ ์ํคํ ์ฒ์์ ์ฑ ํด๋ผ์ด์ธํธ๊ฐ ๊ฒ์ดํธ์จ์ด ์๋น์ค์ ๋ ๊ฑฐ์ ์ฑ ๋ฐฑ์๋์ ํต์ ํ๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ํ์ฌ ์๋ก์ด ๋ฐฑ์๋๋ฅผ ์ถ๊ฐํจ.
- ์๋ฒ ์ฃผ๋ UI๋ฅผ ์ํ ์๋ก์ด ๋ฐฑ์๋ ์ถ๊ฐ, ๋น์ฆ๋์ค ๋ก์ง๊ณผ UI ์ ์ ํฌํจ.
์๋ฒ ์ฃผ๋ UI ๋ฐ ๊ธฐ๋ฅ ํ์ฅ
์๋ฒ ์ฃผ๋ UI์ ๊ธฐ๋ฅ ํ์ฅ์ ๊ดํ ๋ด์ฉ์ ๋ค๋ฃน๋๋ค.
์๋ฒ ์ฃผ๋ UI
- ์๋ก์ด ๋ฐฑ์๋๋ฅผ ํตํด ์๋ฒ ์ฃผ๋ UI ๋ฐ ๋น์ฆ๋์ค ๋ก์ง ๊ตฌํ.
- ์ ํ๋ฆฌ์ผ์ด์ ํด๋ผ์ด์ธํธ๋ง๋ค ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ์งํ์ฌ ํด๋ผ์ด์ธํธ ์ ๋ฐ์ดํธ ํ์์ฑ ์ ์ง.
์ฑ ๊ฐ๋ฐ์ ๋๊ตฌ ๋ฐ ์ฒซ ๋ฒ์งธ ๋ฐ๋ณต
์ฑ ๊ฐ๋ฐ์ ๋๊ตฌ์ ์ฒซ ๋ฒ์งธ ๋ฐ๋ณต ๊ณผ์ ์ ๋ค๋ฃจ๊ณ ์์ต๋๋ค.
์ฑ ๊ฐ๋ฐ์ ๋๊ตฌ
- ์ด๊ธฐ ๋ฒํผ, ๋งํฌ, ์ด๋ฏธ์ง, ํ ์คํธ ๋ฑ ๊ฐ๋จํ ์์ ์ถ๊ฐ ํ ๋ฒ์ ๊ด๋ฆฌ ์ฒ๋ฆฌ.
API ๊ฐ๋ฐ ๋ฐ ํด๋ผ์ด์ธํธ ๋ฒ์ ๊ด๋ฆฌ
์น์ ๊ฐ์: API ๊ฐ๋ฐ ์ ์๋ก์ด ๊ตฌ์ฑ ์์๊ฐ ์ถ๊ฐ๋๊ณ ์ด์ ๊ตฌ์ฑ ์์๊ฐ ๋ณ๊ฒฝ๋๋ฉฐ ์๋ก์ด ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋จ์ ๋ฐ๋ผ ํด๋ผ์ด์ธํธ ๋ฒ์ ๊ด๋ฆฌ์ ์ค์์ฑ์ ๋ํด ๋ ผ์ํฉ๋๋ค.
API ์ ๋ฐ์ดํธ์ ํด๋ผ์ด์ธํธ ์ง์
- ํด๋ผ์ด์ธํธ๋ ํ๋์ API ๋ฒ์ ๋ง ์ง์ํ๋ฉฐ, ์๋ฒ์์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ๋ด๋นํจ.
- ๊ฐ ์๋ํฌ์ธํธ๋ ์ต์ API ๋ฒ์ ์ ์ง์ ํ์ฌ ํด๋น ๋ฒ์ ์ด์์ ํด๋ผ์ด์ธํธ์๊ฒ UI๋ฅผ ์ ๊ณตํจ.
- ๊ธฐ์กด ์ปดํฌ๋ํธ๋ ๊ธฐ๋ฅ์ ๋ณ๊ฒฝํ ๋, ํด๋ผ์ด์ธํธ๋ ์ฌ์ ํ UI๋ฅผ ํ์ํ์ง๋ง ์๋ต ๊ตฌ์กฐ๊ฐ ๋ค๋ฅผ ์ ์์.
DSL(Domain Specific Language) ์๊ฐ
์น์ ๊ฐ์: DSL์ ํ์์ฑ๊ณผ ์ฅ์ ์ ๋ํด ์ค๋ช ํ๊ณ , JSON ์ฒ๋ฆฌ์ ๋ฒ์ ๊ด๋ฆฌ์์ DSL์ ์ญํ ์ ๊ฐ์กฐํฉ๋๋ค.
DSL๊ณผ JSON ์ฒ๋ฆฌ
- DSL์ HTML์ฒ๋ผ ํน์ ๊ธฐ๋ฅ์ ์ฒ๋ฆฌํ๋ ์ธ์ด๋ก, JSON ์ฒ๋ฆฌ์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ๋จ์ํํจ.
- DSL์ ์คํ์ผ ๋ฐ ์ ํ ์์ ์ฑ์ ๊ฐํํ๋ฉฐ, JSON ํ์ด๋ก๋์ ์ํธ์์ฉํ๋ ๋ฐฉ์์ ์ถ์ํํจ.
DSL๊ณผ ๊ธฐ๋ฅ ์งํฉ
์น์ ๊ฐ์: DSL์ ํตํด ๋ค๋ฅธ ํด๋ผ์ด์ธํธ๊ฐ ๋ค๋ฅธ ์ปดํฌ๋ํธ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ ๋ฐฉ๋ฒ๊ณผ ๊ธฐ๋ฅ ์งํฉ์ ์ค์์ฑ์ ๋ํด ํ๊ตฌํฉ๋๋ค.
DSL๊ณผ ๊ธฐ๋ฅ ์งํฉ
์๋ฒ๋ก ์ฌ์ฉ์์ ์๋ต์ ๋ณด๋ด๊ณ ๋ฐ์์ผ ํ์ต๋๋ค.
์น์ ๊ฐ์: ์ฌ์ฉ์์ ์๋ต์ ์๋ฒ๋ก ๋ณด๋ด๊ณ ๋ฐ๊ธฐ ์ํด ๊ตฌ์กฐ๋ฅผ ์กฐ์ ํด์ผ ํ์ผ๋ฉฐ, ํด๋ผ์ด์ธํธ์๊ฒ ๋ ผ๋ฆฌ์ ์ํ๋ฅผ ์ ๋ฌํ๊ณ ์คํํ ์ ์๋๋ก ํด์ผ ํ์ต๋๋ค.
์๋ก์ด ๊ตฌ์กฐ ํ์
- ์ฌ์ฉ์์ ์๋ต์ ์๋ฒ๋ก ๋ณด๋ด๊ธฐ ์ํด ์ด์ ๊ตฌ์กฐ๋ฅผ ์กฐ์ ํด์ผ ํ์.
- Redux๋ฅผ ๋ฐ๊ฒฌํ์ฌ ๋น์ทํ ๋ฒ์ ์ ๋ง๋ค์์.
- Redux์์ UI๊ฐ ์ ์ฅ์ ๋ด ์ผ๋ จ์ key-value ์์ ๊ตฌ๋ ํ๊ณ ์ก์ ์ ๋์คํจ์นํ๋ ๋ฐฉ์ ํ์ธ.
์คํ ์ด ๋ฐ UI ์ปดํฌ๋ํธ ๊ฐ ๋์ ๋ฐฉ์
์น์ ๊ฐ์: ์คํ ์ด์ UI ์ปดํฌ๋ํธ ๊ฐ์ ๋์ ๋ฐฉ์๊ณผ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ณผ์ ์ค๋ช .
์คํ ์ด ๋ฐ UI ์ปดํฌ๋ํธ ์ํธ์์ฉ
- ๊ฐ๊ฐ์ UI ์ปดํฌ๋ํธ๋ ์คํ ์ด์์ ์ก์ ์คํ ๊ฐ๋ฅ.
- ์์: ๋์ด ์ ๋ ฅ ์, ์ก์ ์ ํตํด ๋์ด ํ๋ ์ ๋ฐ์ดํธ ๊ฐ๋ฅ.
์ก์ ๊ณผ ์ ํ์ ๋ํ ๊ณ ์ฐฐ
์น์ ๊ฐ์: ์ก์ ๊ณผ ๊ทธ ๊ธฐ๋ฅ์ ๋ํ ํ๊ตฌ.
๋ค์ํ ์ก์ ์ ํ
- ๋ฌธ์์ด ๊ธฐ๋ฐ ์ก์ ์ด๋ฏ๋ก ๋ค์ํ ์ ๋ ฅ ์ ํ์ ๋ฐ์ธ๋ฉ ๊ฐ๋ฅ.
๋ก์ง ๋ฐ ์ก์ ๊ด๋ฆฌ
์น์ ๊ฐ์: ๋ก์ง๊ณผ ์ก์ ๊ด๋ฆฌ ๋ฐฉ๋ฒ ์ค๋ช .
๋ก์ง ๋ฐ ์ก์ ๊ด๋ฆฌ
- ๋ก์ง์ ์ฌ๋ฌ ์คํ ์ด ๊ฐ ๊ณต์ ๋๋ฉฐ, JavaScript๋ก ์ํ ๊ด๋ฆฌํจ.
์ํ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐฉ์ ๋น๊ต
์น์ ๊ฐ์: ์ํ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐฉ์ ๋น๊ต ๋ถ์.
์ํ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ
- JavaScript๊ฐ ์ฑ๋ฅ ๋ฉด์์ ์ฐ์ํ์ฌ JSON ๋์ ์ ํ๋จ.
Kotlin Multiplatform ํ์ฉ๋ฒ ์๊ฐ
์น์ ๊ฐ์: Kotlin Multiplatform์ผ๋ก ์์ ์ ๋ฐ์ํ๋ ์ด์ ์ค๋ช .
Kotlin Multiplatform ํ์ฉ๋ฒ
๊ธฐ๋ฐ ๋ก์ง ๋ฐ DSL
์น์ ๊ฐ์: ์ด ๋ถ๋ถ์์๋ ๊ธฐ๋ฐ ๋ก์ง๊ณผ DSL์ ๋ํด ๋ ผ์ํฉ๋๋ค. JavaScript๋ก ๋ณํ๋ ์คํ ์ด์ ๋ฐฑ์๋์์ ํค-๊ฐ ์ ๊ฐ๊ณผ ์ก์ ๋ง ๋ ธ์ถ๋์ด ์์์ผ๋ฉฐ, DSL์ ํ์ ์ ์ฐ์ฑ์ ์ ๊ณตํ์ต๋๋ค.
๊ธฐ๋ฐ ๋ก์ง ๋ฐ DSL
- JavaScript๋ก ๋ณํ๋ ์คํ ์ด์ ๋ฐฑ์๋์์๋ ํค-๊ฐ ์ ๊ฐ๊ณผ ์ก์ ์ด ๋ ธ์ถ๋์ด ์์์.
- ํด๋ผ์ด์ธํธ ๋ด๋ถ์ ๋ ธ์ถ๋ ๊ฒ์ ์์ ๊ฒ์ ์์์ฒ๋ผ ๋ณด์์.
- DSL์ ํ์ ๋ง์ ์ ์ฐ์ฑ์ ์ ๊ณตํ๋ฉฐ ๋ค๋ฅธ ํ์ด ์ฝ๊ฒ ์ฐธ์ฌํ๊ณ ํ๋ก์ ํธ๋ฅผ ์ดํดํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค์์.
ํ ์ฐธ์ฌ์ ์ธ๋ถ ํ ์ ์
์น์ ๊ฐ์: ์ด ๋ถ๋ถ์์๋ ์ ์ฒด ํ ์ฐธ์ฌ์ ์ธ๋ถ ํ์ ํ๋ก์ ํธ์ ์ฐธ์ฌ์ํค๋ ์ค์์ฑ์ ๋ํด ๋ค๋ฃน๋๋ค.
ํ ์ฐธ์ฌ์ ์ธ๋ถ ํ ์ ์
- ๋๋ถ๋ถ์ ํ์์ด ๊ตฌ์ฑ ์์๋ฅผ ๊ตฌ์ถํ๊ฑฐ๋ ์ด๋ค ๋ฐฉ์์ผ๋ก๋ ๊ธฐ์ฌํ์ฌ ์ ์ฒด์ ์ธ ์ง์ ๊ณต์ ๊ฐ ์ด๋ฃจ์ด์ก์.
- ์ธ๋ถ ํ์ ํ๋ก์ ํธ ์ฃผ๋ณ์ผ๋ก ๋ชจ์ผ๊ณ ์น ๊ฐ๋ฐ์๋ค์ด ์ฑ์ ๊ธฐ์ฌํ ์ ์๋๋ก ํ๋ ๊ฒ์ด ์ค์ํจ.
๊ธฐ๋ฅ ํ์ฅ๊ณผ ๋๊ตฌ ๋ค์ํ
์น์ ๊ฐ์: ์ด ๋ถ๋ถ์์๋ ๋ค์ํ ๊ธฐ์ ๊ณผ ๋๊ตฌ๋ฅผ ๋์ ํ์ฌ ํ๋ก์ ํธ์ ์ฑ๊ณต์ ์ํ ํ์ฅ ๊ฐ๋ฅ์ฑ์ ๊ฐ์กฐํฉ๋๋ค.
๊ธฐ๋ฅ ํ์ฅ๊ณผ ๋๊ตฌ ๋ค์ํ
- Spring Boot, Kotlin Multiplatform ๋ฑ ์ฌ๋ฌ ๊ธฐ์ ๋ฐ ๋๊ตฌ๊ฐ ์ฌ์ฉ๋๊ณ ์์ผ๋ฉฐ, Docker์ ๊ฐ์ ์๋ก์ด ์๋น์ค๋ค๋ ํ์ํจ.
์คํ๋ผ์ธ์์์ ๋์์ธ ์์คํ ๋์
์น์ ๊ฐ์: ์จ๋ผ์ธ๊ณผ ์คํ๋ผ์ธ์ ์ฐ๊ฒฐ์ ๋ถ๊ฐ๋ฅํ๋ฉฐ, ์คํ๋ผ์ธ ์ํ์์๋ ๊ฒ์์ด ๋ถ๊ฐ๋ฅํฉ๋๋ค. ๋์์ธ ์ง์์ ์ ํ์ด ์์ด ๋์์ด๋๋ค์ด ์ ์ํ๋ ๋์์ธ์ ํญ์ ์ง์ํ ์ ์์ต๋๋ค. ์ด๋ก ์ธํด ๊ณ์ํด์ ๋ฐ์ ํ๊ณ ์ฑ์ฅํ๋ฉฐ, ์๋ก์ด ๋์์ธ๊ณผ ํธ๋ ๋์ ๋์ํด์ผ ํฉ๋๋ค.
์จ๋ผ์ธ ๋ฐ ์คํ๋ผ์ธ ์ฐ๊ฒฐ์ ํ๊ณ
- ๋์์ด๋๋ค์ด ๋ง๋ ๋ค์ํ ๋์์ธ์ ๋ชจ๋ ์ง์ํ๊ธฐ ์ด๋ ค์
- ํฅํ ๊ณํ์ผ๋ก ๋ฆฌ์น ๋ ์ด์์ ์ฒ๋ฆฌ, ์ปดํฌ๋ํธ ์ถ๊ฐ, ์ ๋๋ฉ์ด์ ๊ฐ์ ๋ฑ์ ๊ณ ๋ ค ์ค
- Cotlin Multiplatform ํ์ฉ ํ๋ ๋ฐ ์ฝ๋ ๊ณต์ ์ฆ๊ฐ
๋ฏธ๋ ๊ณํ ๋ฐ ๊ฐ์ฌ ์ธ์ฌ
์น์ ๊ฐ์: Rich layout handling, dynamic UI for tablets, advanced action handling ๋ฑ์ ๊ธฐ๋ฅ ์ถ๊ฐ๋ฅผ ํฌํจํ ํฅํ ๊ณํ ์๊ฐ์ ์ฐธ์ฌ์ ๋ํ ๊ฐ์ฌ ์ธ์ฌ ์ ๋ฌ.
ํฅํ ๊ณํ ๋ฐ ๊ฐ์ฌ ์ธ์ฌ
- JM on conference ์ฐธ์ฌ ์๋ด
- ์ ๋ฐ์ดํธ ํ๋ก์ธ์ค์ ๊ด๋ จ๋ ๊ท์ ์ค์์ ๋ํ ์ง๋ฌธ๊ณผ Facebook, Airbnb, Spotify์ ๊ฐ์ ๊ธฐ์ ์ฌ๋ก ์ธ๊ธ
- ์ฑ ์ ๊ทผ์ฑ ์๊ตฌ ์ฌํญ์ ๋ํ ์ง๋ฌธ๊ณผ DSL์ ํตํ ์ ๊ทผ์ฑ ํ๊ทธ ์ถ๊ฐ ์ค๋ช
์ ๊ทผ์ฑ ์๊ตฌ ์ฌํญ ๋ฐ ์ฌ์ฉ์ ์ธ์ฆ ๊ด๋ฆฌ
์น์ ๊ฐ์: ๋ค์ดํฐ๋ธ ๊ฐ๋ฐ์์ ํ๋ ฅํ์ฌ ์ฑ์ ์ ๊ทผ์ฑ ์๊ตฌ ์ฌํญ๊ณผ ์ฌ์ฉ์ ์ธ์ฆ ๊ด๋ฆฌ ๋ฐฉ๋ฒ์ ๋ํด ๋ ผ์.
์ ๊ทผ์ฑ ์๊ตฌ ์ฌํญ ๋ฐ ์ฌ์ฉ์ ์ธ์ฆ ๊ด๋ฆฌ
- Force DSL์ ํ์ฉํ์ฌ ์ ๊ทผ์ฑ ํ๊ทธ ์ถ๊ฐ
- ์คํ๋ผ์ธ ๋ชจ๋ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ ์ค๋ช
- ์ฌ์ฉ์ ์ธ์ฆ์ ์๋ฒ์์ ์ฒ๋ฆฌ๋๋ฉฐ ๋ณด์์ ์ค์์๋จ
Testing Process and Automation
์ด ์น์ ์์๋ ํ ์คํธ ํ๋ก์ธ์ค์ ์ด๋ ค์๊ณผ ์๋ํ์ ๋ํด ๋ ผ์๋ฉ๋๋ค.
ํ ์คํธ ํ๋ก์ธ์ค ๊ฐ์
- ๋ค์ํ ๋ฒ์ ์ ์ฒ๋ฆฌํด์ผ ํ๋ ์ํฉ์์ ํ ์คํธ๊ฐ ๋ ์ด๋ ค์์ก๋ค.
- UI ํ ์คํธ๋ฅผ ์๋ํํ์ง ์์๋ ๊ฒ์ ๊ฐ์ ํ๊ณ , ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ ์ ํ ์คํฐ๋ค์ด ๊ด์ฌํ๋๋ก ํจ.
- ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ฌ๋๋ ๋ชจ๋ ๊ฒ์ด ์๋ํด์ผ ํ๋ฉฐ, ์ด๋ฅผ ์ํด ๋ค์ํ ํ ์คํธ ๋ฐฉ๋ฒ์ ์ฌ์ฉํจ.
Wrap-up and Invitation to Engage
ํ์๋ฅผ ๋ง์น๊ณ ์ฐธ๊ฐ์๋ค์๊ฒ ์ง๋ฌธ ๋ฐ ์๊ฒฌ์ ๋๋ ์ ์๋ ๊ธฐํ ์ ๊ณต.
Wrap-up ๋ฐ ์ํธ์์ฉ ์ด๋
- ์ง์ํ๋ ๋ฒ์ ์ ์ ๋ฆฌํ์ฌ ๋ถํ์ํ ๊ฑฑ์ ์ ์ค์.