ํผ๋๋ก ๋์๊ฐ๊ธฐ
Dev.toFrontend
์๋ฌธ ์ฝ๊ธฐ
Firestore real-time listener ๊ธฐ๋ฐ์ Cross-device ์ฅ๋ฐ๊ตฌ๋ ๋๊ธฐํ ๊ตฌํ
๐ฅ Mastering Real-Time State in E-commerce: Firebase Updates from Google I/O 2026
AI ์์ฝ
Context
๋๊ท๋ชจ E-commerce ํ๊ฒฝ์์ Redux ๊ธฐ๋ฐ์ ๋ณต์กํ State ๊ด๋ฆฌ์ ์ง์์ ์ธ API Polling์ผ๋ก ์ธํ ํ์ฅ์ฑ ์ ํ ๋ฐ์. ๋ค์ค ํญ ๋ฐ ๋๋ฐ์ด์ค ๊ฐ ์ค์๊ฐ Inventory ๋ฐ Cart ๋ฐ์ดํฐ ๋๊ธฐํ์ ๊ธฐ์ ์ ๋ณต์ก๋ ์ฆ๊ฐ.
Technical Solution
- Firestore์
onSnapshot์ ํ์ฉํ Push ๊ธฐ๋ฐ ์ค์๊ฐ ๋ฐ์ดํฐ ์คํธ๋ฆผ ์ํคํ ์ฒ ์ค๊ณ - ํด๋ผ์ด์ธํธ-์๋ฒ ๊ฐ ์ํ ๋๊ธฐํ๋ฅผ ์ํ Real-time Listener ๋์ ์ผ๋ก Manual Fetching ๋ก์ง ์ ๊ฑฐ
updateDoc๋ฅผ ํตํ ์์์ ์ํ ์ ๋ฐ์ดํธ๋ก ๋ฐ์ดํฐ ์ผ๊ด์ฑ ํ๋ณด- SDK ์ต์ ํ๋ฅผ ํตํ Boilerplate ์ฝ๋ ๊ฐ์ ๋ฐ Frontend State ๊ด๋ฆฌ ๋จ์ํ
- Cloud-native ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ์ ํตํ UI State์ ์ฆ๊ฐ์ ๋ฐ์ ๊ตฌ์กฐ ๊ตฌ์ถ
์ค์ฒ ํฌ์ธํธ
1. ๋ค์ค ๋๋ฐ์ด์ค ๋๊ธฐํ ํ์ ์ API Polling ๋์ Push-based Listener ๊ฒํ
2. Client-side State ๊ด๋ฆฌ ๋ณต์ก๋ ๊ฐ์๋ฅผ ์ํด Backend-driven State ๋๊ธฐํ ์ ๋ต ์ ์ฉ
3. Firestore `onSnapshot` ์ฌ์ฉ ์ ๋ฉ๋ชจ๋ฆฌ ๋์ ๋ฐฉ์ง๋ฅผ ์ํ Unsubscribe ์ฒ๋ฆฌ ํ์ ํ์ธ