๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ์ํคํ ์ฒ ์ข ํฉ ๊ฐ์ด๋. ํ์ฅ์ฑ ์๊ณ ์ ์ง๋ณด์ ๊ฐ๋ฅํ ์น ์ฑ ๊ตฌ์ถ์ ์ํ ์ฅ์ , ๊ตฌํ ์ ๋ต, ๊ณผ์ ๋ฅผ ์ดํด๋ด ๋๋ค.
๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ์ํคํ ์ฒ: ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฐํฌ ๊ฐ๋ฅํ ์ปดํฌ๋ํธ ๊ตฌ์ถํ๊ธฐ
๋์์์ด ์งํํ๋ ์น ๊ฐ๋ฐ ํ๊ฒฝ์์ ๋๊ท๋ชจ ํ๋ก ํธ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ณ ์ ์งํ๋ ๊ฒ์ ๋ณต์กํ๊ณ ์ด๋ ค์ด ์ผ์ด ๋ ์ ์์ต๋๋ค. ๋ชจ๋๋ฆฌ์ ํ๋ก ํธ์๋ ์ํคํ ์ฒ๋ ์ข ์ข ์ดํดํ๊ธฐ ์ด๋ ต๊ณ , ๋น๋ ๋ฐ ๋ฐฐํฌ๊ฐ ๋๋ฆฌ๋ฉฐ, ๋ณ๊ฒฝ์ ์ ํญ์ ์ธ ์ฝ๋๋ฒ ์ด์ค๋ก ์ด์ด์ง๋๋ค. ์ด๋ฌํ ๋ชจ๋๋ฆฌ์ ํ๋ก ํธ์๋๋ฅผ ๋ ์๊ณ , ๊ด๋ฆฌํ๊ธฐ ์ฌ์ฐ๋ฉฐ, ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฐํฌ ๊ฐ๋ฅํ ์ปดํฌ๋ํธ๋ก ๋ถํดํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ ๋์์ธ ์ ๊ทผ ๋ฐฉ์์ธ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ์ํคํ ์ฒ๋ฅผ ์๊ฐํฉ๋๋ค.
๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ ๋ฌด์์ธ๊ฐ?
๋ฐฑ์๋ ์ธ๊ณ์ ๋ง์ดํฌ๋ก์๋น์ค ์์น์์ ์๊ฐ์ ๋ฐ์ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ ํ๋์ ํ๋ก ํธ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ ๋ฆฝ์ ์ธ ํ์ ์ํด ์์ ๋๊ณ ๊ด๋ฆฌ๋๋ ์ฌ๋ฌ ๊ฐ์ ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ๊ตฌ์ฑ๋๋ ์ํคํ ์ฒ ์คํ์ผ์ ๋ํ๋ ๋๋ค. ์ด๋ฌํ ์์ ์ ํ๋ฆฌ์ผ์ด์ , ์ฆ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ ๋ ๋ฆฝ์ ์ผ๋ก ๊ฐ๋ฐ, ํ ์คํธ, ๋ฐฐํฌ๋ ์ ์์ด ๋ ํฐ ์ ์ฐ์ฑ, ํ์ฅ์ฑ, ๊ทธ๋ฆฌ๊ณ ๋ ๋น ๋ฅธ ๊ฐ๋ฐ ์ฃผ๊ธฐ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
๋ ๋ฆฝ์ ์ธ ๋ ๊ณ ๋ธ๋ก์ผ๋ก ์น์ฌ์ดํธ๋ฅผ ๋ง๋๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํด๋ณด์ธ์. ๊ฐ ๋ธ๋ก(๋ง์ดํฌ๋ก ํ๋ก ํธ์๋)์ ์์ฒด ๊ธฐ๋ฅ์ ๊ฐ์ง ๋ ๋ฆฝ์ ์ธ ๋จ์์ ๋๋ค. ์ด ๋ธ๋ก๋ค์ ๋ค๋ฅธ ๋ธ๋ก์ ์์ ์ฑ์ด๋ ๊ธฐ๋ฅ์ ์ํฅ์ ์ฃผ์ง ์์ผ๋ฉด์ ๋ค์ํ ๋ ์ด์์๊ณผ ์ฌ์ฉ์ ๊ฒฝํ์ ๋ง๋ค๊ธฐ ์ํด ์ฌ๋ฌ ๋ฐฉ์์ผ๋ก ์กฐํฉ๋ ์ ์์ต๋๋ค.
๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ์ํคํ ์ฒ์ ์ฅ์
๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ์ํคํ ์ฒ๋ฅผ ์ฑํํ๋ฉด ํนํ ํฌ๊ณ ๋ณต์กํ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ง์ ์ด์ ์ ์ ๊ณตํฉ๋๋ค:
- ๋ ๋ฆฝ์ ์ธ ๋ฐฐํฌ: ์ด๋ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋์ ์ด์์ ๋๋ค. ํ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค๋ฅธ ๋ถ๋ถ์ ์ํฅ์ ์ฃผ์ง ์๊ณ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐฐํฌํ ์ ์์ด ๋ฐฐํฌ ์ํ์ ํฌ๊ฒ ์ค์ด๊ณ ๋ฆด๋ฆฌ์ค ์ฃผ๊ธฐ๋ฅผ ๊ฐ์ํํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ง์ผํ ํ์ ํต์ฌ ์ ํ ๊ธฐ๋ฅ์ ์์ ํ๋ ํ๊ณผ ํ์ํ ํ์ ์์ด ์๋ก์ด ๋๋ฉ ํ์ด์ง ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
- ๊ธฐ์ ๋ค์์ฑ: ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ ํ์ด ํน์ ์๊ตฌ์ ๊ฐ์ฅ ์ ํฉํ ๊ธฐ์ ์คํ์ ์ ํํ ์ ์๋๋ก ํฉ๋๋ค. ํ ํ์ React๋ฅผ ์ฌ์ฉํ ์ ์๊ณ , ๋ค๋ฅธ ํ์ Angular๋ Vue.js๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ ์ฐ์ฑ์ ํ์ ์ ์ด์งํ๊ณ ํ์ด ์ ์ฒด ์ํคํ ์ฒ์ ์ ์ฝ๋ฐ์ง ์๊ณ ์ต์ ๊ธฐ์ ์ ํ์ฉํ ์ ์๊ฒ ํฉ๋๋ค.
- ํ์ฅ์ฑ: ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฑ์ฅํจ์ ๋ฐ๋ผ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ณ ๋ถ๋ถ์ ๋ ๋ฆฝ์ ์ผ๋ก ํ์ฅํ ์ ์์ต๋๋ค. ์ด๋ ํนํ ํธ๋ํฝ์ด ๋ง๊ฑฐ๋ ํน์ ๋ฆฌ์์ค ํ ๋น์ด ํ์ํ ๊ธฐ๋ฅ์ ์ ์ฉํ ์ ์์ต๋๋ค. ๊ธ๋ก๋ฒ ์ด์ปค๋จธ์ค ํ๋ซํผ์ ์์ํด๋ณด์ธ์: ๊ฒฐ์ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ ๋ธ๋ ํ๋ผ์ด๋ฐ์ด์ ๊ฐ์ ์ผํ ์ฑ์๊ธฐ ๋์ ๋ ๋ง์ ๋ฆฌ์์ค๊ฐ ํ์ํ ์ ์์ง๋ง, ์ ํ ์นดํ๋ก๊ทธ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ ์๋์ ์ผ๋ก ์์ ์ ์ผ๋ก ์ ์ง๋ฉ๋๋ค.
- ํ ์์จ์ฑ ํฅ์: ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ ํ์ด ๋ ๋ฆฝ์ ์ผ๋ก ์์ ํ ์ ์๋๋ก ๊ถํ์ ๋ถ์ฌํ์ฌ ์ฃผ์ธ์์๊ณผ ์ฑ ์๊ฐ์ ํค์๋๋ค. ๊ฐ ํ์ ๊ฐ๋ฐ๋ถํฐ ๋ฐฐํฌ๊น์ง ์์ฒด ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ์ฑ ์์ง๋ฏ๋ก ํจ์จ์ฑ์ด ๋์์ง๊ณ ์์ฌ ๊ฒฐ์ ์ด ๋นจ๋ผ์ง๋๋ค.
- ์ฝ๋ ์ฌ์ฌ์ฉ์ฑ: ํญ์ ์ฃผ์ ๋ชฉํ๋ ์๋์ง๋ง, ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ ์ฌ๋ฌ ํ๊ณผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฑธ์ณ ์ฝ๋ ์ฌ์ฌ์ฉ์ฑ์ ์ด์งํ ์ ์์ต๋๋ค. ๊ณตํต ์ปดํฌ๋ํธ๋ ๊ธฐ๋ฅ์ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋์์ธ ์์คํ ์ผ๋ก ์ถ์ถํ์ฌ ์ค๋ณต์ ์ค์ด๊ณ ์ผ๊ด์ฑ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
- ๋ ์ฌ์ด ์ ๊ทธ๋ ์ด๋: ๋ชจ๋๋ฆฌ์ ํ๋ก ํธ์๋์์ ๊ธฐ์ ์ด๋ ํ๋ ์์ํฌ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๋ ๊ฒ์ ๋ฒ ์ฐฌ ์์ ์ผ ์ ์์ต๋๋ค. ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ณ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ์ ์ง์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ์ฌ ์ ๊ทธ๋ ์ด๋ ํ๋ก์ธ์ค์ ์ํ๊ณผ ๋ณต์ก์ฑ์ ์ค์ผ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ํ ํ์ ์ ์ฒด ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ํ ๋ค์ ์์ฑํ ํ์ ์์ด ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ Angular 1์์ Angular 17(๋๋ ์ต์ ํ๋ ์์ํฌ)๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ ์ ์์ต๋๋ค.
- ๋ณต์๋ ฅ: ํ๋์ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๊ฐ ์คํจํ๋๋ผ๋ ์ด์์ ์ผ๋ก๋ ์ ์ฒด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ด์ํค์ง ์์์ผ ํฉ๋๋ค. ์ ์ ํ ๊ฒฉ๋ฆฌ ๋ฐ ์ค๋ฅ ์ฒ๋ฆฌ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋จธ์ง ๋ถ๋ถ์ด ๊ณ์ ๊ธฐ๋ฅํ๋๋ก ๋ณด์ฅํ์ฌ ๋ ํ๋ ฅ์ ์ธ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ์ํคํ ์ฒ์ ๊ณผ์
๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ ์๋ง์ ์ด์ ์ ์ ๊ณตํ์ง๋ง, ์ ์คํ๊ฒ ๊ณ ๋ คํด์ผ ํ ํน์ ๊ณผ์ ๋ ์์ต๋๋ค:
- ๋ณต์ก์ฑ ์ฆ๊ฐ: ํ๋ก ํธ์๋๋ฅผ ์ฌ๋ฌ ๊ฐ์ ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ๋ถ์ฐ์ํค๋ ๊ฒ์ ๋ณธ์ง์ ์ผ๋ก ๋ณต์ก์ฑ์ ๋ํฉ๋๋ค. ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ๊ฐ์ ํต์ ์ ๊ด๋ฆฌํ๊ณ , ์ผ๊ด๋ ์คํ์ผ๋ง๊ณผ ๋ธ๋๋ฉ์ ๋ณด์ฅํ๋ฉฐ, ์ธ์ฆ ๋ฐ ์ธ๊ฐ์ ๊ฐ์ ๊ณตํต ๊ด์ฌ์ฌ๋ฅผ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค.
- ์ด์ ์ค๋ฒํค๋: ์ฌ๋ฌ ๋ฐฐํฌ, ๋น๋ ํ๋ก์ธ์ค ๋ฐ ์ธํ๋ผ ๊ตฌ์ฑ ์์๋ฅผ ๊ด๋ฆฌํ๋ฉด ์ด์ ์ค๋ฒํค๋๊ฐ ์ฆ๊ฐํ ์ ์์ต๋๋ค. ์ํํ ์ด์์ ๋ณด์ฅํ๊ธฐ ์ํด ๊ฐ๋ ฅํ CI/CD ํ์ดํ๋ผ์ธ๊ณผ ๋ชจ๋ํฐ๋ง ๋๊ตฌ์ ํฌ์ํด์ผ ํฉ๋๋ค.
- ์ฑ๋ฅ ๊ณ ๋ ค์ฌํญ: ์ฌ๋ฌ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ๋ก๋ํ๋ ๊ฒ์ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌํ๋์ง ์์ผ๋ฉด ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค. ๋น ๋ฅด๊ณ ๋ฐ์์ด ๋น ๋ฅธ ์ฌ์ฉ์ ๊ฒฝํ์ ๋ณด์ฅํ๊ธฐ ์ํด ๋ก๋ฉ ์ ๋ต์ ์ต์ ํํ๊ณ , ๋ฒ๋ค ํฌ๊ธฐ๋ฅผ ์ต์ํํ๋ฉฐ, ์บ์ฑ ๋ฉ์ปค๋์ฆ์ ํ์ฉํด์ผ ํฉ๋๋ค.
- ๊ณตํต ๊ด์ฌ์ฌ(Cross-Cutting Concerns): ์ฌ๋ฌ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋์ ๊ฑธ์ณ ์ธ์ฆ, ์ธ๊ฐ, ํ ๋ง ์ค์ ๊ณผ ๊ฐ์ ๊ณตํต ๊ด์ฌ์ฌ๋ฅผ ๊ตฌํํ๋ ๊ฒ์ ์ด๋ ค์ธ ์ ์์ต๋๋ค. ์ผ๊ด์ฑ์ ๋ณด์ฅํ๊ณ ์ค๋ณต์ ํผํ๊ธฐ ์ํด ๋ช ํํ ๊ฐ์ด๋๋ผ์ธ๊ณผ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ตฌ์ถํด์ผ ํฉ๋๋ค.
- ์ปค๋ฎค๋์ผ์ด์ ์ค๋ฒํค๋: ์ฑ๊ณต์ ์ธ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ๊ตฌํ์ ์ํด์๋ ์ฌ๋ฌ ํ ๊ฐ์ ๋ช ํํ ์ปค๋ฎค๋์ผ์ด์ ์ฑ๋๊ณผ ํ๋กํ ์ฝ์ ์ค์ ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๊ฐ๋ฑ์ ํผํ๊ณ ์กฐํ๋ฅผ ๋ณด์ฅํ๊ธฐ ์ํด์๋ ์ ๊ธฐ์ ์ธ ์ํต๊ณผ ํ์ ์ด ํ์์ ์ ๋๋ค.
- ํตํฉ ํ ์คํธ: ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๊ฐ ์๋ก ์ํํ๊ฒ ์๋ํ๋์ง ํ์ธํ๊ธฐ ์ํด ์ฒ ์ ํ ํตํฉ ํ ์คํธ๊ฐ ํ์์ ์ ๋๋ค. ์ด๋ฅผ ์ํด์๋ ์ ์ ์๋ ํ ์คํธ ์ ๋ต๊ณผ ์๋ํ๋ ํ ์คํธ ๋๊ตฌ๊ฐ ํ์ํฉ๋๋ค.
๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ๊ตฌํ ์ ๋ต
๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ๊ตฌํํ๋ ๋ฐ๋ ์ฌ๋ฌ ์ ๊ทผ ๋ฐฉ์์ด ์์ผ๋ฉฐ, ๊ฐ๊ฐ ์ฅ๋จ์ ์ด ์์ต๋๋ค. ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์ ๋ต ๋ช ๊ฐ์ง๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
1. ๋น๋ ํ์ ํตํฉ
์ด ์ ๊ทผ ๋ฐฉ์์์๋ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๊ฐ ํจํค์ง(์: npm ํจํค์ง)๋ก ๊ฒ์๋๊ณ ๋น๋ ๊ณผ์ ์์ ์ปจํ ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํตํฉ๋ฉ๋๋ค. ์ปจํ ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ๊ฐ์ ธ์ค๊ณ ๋ ๋๋งํ๋ ์ค์ผ์คํธ๋ ์ดํฐ ์ญํ ์ ํฉ๋๋ค.
์ฅ์ :
- ๊ตฌํ์ด ๊ฐ๋จํฉ๋๋ค.
- ๋น๋ ์ ๋ชจ๋ ๊ฒ์ด ํตํฉ๋๋ฏ๋ก ์ฑ๋ฅ์ด ์ข์ต๋๋ค.
๋จ์ :
- ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๊ฐ ๋ณ๊ฒฝ๋ ๋๋ง๋ค ์ปจํ ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ ๋น๋ํ๊ณ ๋ฐฐํฌํด์ผ ํฉ๋๋ค.
- ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋์ ์ปจํ ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ์ ๊ฐํ ๊ฒฐํฉ์ด ๋ฐ์ํฉ๋๋ค.
์์: ์ฌ๋ฌ ํ์ด ์๋ก ๋ค๋ฅธ ์น์ (์: ๋ธ๋ก๊ทธ, ์ ํ ํ์ด์ง, ์ฑ์ฉ)์ ๊ด๋ฆฌํ๋ ๋ง์ผํ ์น์ฌ์ดํธ๋ฅผ ์์ํด๋ณด์ธ์. ๊ฐ ์น์ ์ ๋ณ๋์ npm ํจํค์ง๋ก ๊ฐ๋ฐ๋์ด ๋น๋ ๊ณผ์ ์์ ๋ฉ์ธ ์น์ฌ์ดํธ ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ๊ฐ์ ธ์ต๋๋ค.
2. Iframe์ ํตํ ๋ฐํ์ ํตํฉ
Iframe์ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ๊ฒฉ๋ฆฌํ๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ๊ฐ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ ์์ฒด ๋ ๋ฆฝ ํ๊ฒฝ์ ๊ฐ์ง ์์ฒด iframe์์ ์คํ๋ฉ๋๋ค. Iframe ๊ฐ์ ํต์ ์ `postMessage` API๋ฅผ ์ฌ์ฉํ์ฌ ์ํํ ์ ์์ต๋๋ค.
์ฅ์ :
- ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ๊ฐ์ ๊ฐ๋ ฅํ ๊ฒฉ๋ฆฌ.
- ๊ตฌํ์ด ๊ฐ๋จํฉ๋๋ค.
๋จ์ :
- iframe ์ฝํ ์ธ ๋ก ์ธํ ๋ฎ์ SEO.
- iframe ๊ฐ์ ํต์ ๋ฐ ์คํ์ผ๋ง ๊ด๋ฆฌ๊ฐ ์ด๋ ต์ต๋๋ค.
- ์ฌ๋ฌ iframe์ผ๋ก ์ธํ ์ฑ๋ฅ ์ค๋ฒํค๋.
์์: ์ฌ๋ฌ ํ์ด ๋ค๋ฅธ ์์ ฏ์ ๊ด๋ฆฌํ๋ ๋ณต์กํ ๋์๋ณด๋ ์ ํ๋ฆฌ์ผ์ด์ . ๊ฐ ์์ ฏ์ ๋ณ๋์ iframe์์ ๋ ๋๋ง๋์ด ๊ฒฉ๋ฆฌ๋ฅผ ์ ๊ณตํ๊ณ ์ถฉ๋์ ๋ฐฉ์งํ ์ ์์ต๋๋ค.
3. ์น ์ปดํฌ๋ํธ๋ฅผ ํตํ ๋ฐํ์ ํตํฉ
์น ์ปดํฌ๋ํธ๋ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ปค์คํ HTML ์์๋ฅผ ๋ง๋๋ ํ์ค ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ ์น ์ปดํฌ๋ํธ๋ก ๋น๋๋์ด ๋ธ๋ผ์ฐ์ ์์ ๋์ ์ผ๋ก ๋ก๋๋๊ณ ๋ ๋๋ง๋ ์ ์์ต๋๋ค.
์ฅ์ :
- ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ปดํฌ๋ํธ ๊ตฌ์ถ์ ์ํ ํ์คํ๋ ์ ๊ทผ ๋ฐฉ์.
- ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ๊ฐ์ ์ข์ ๊ฒฉ๋ฆฌ.
- ํ๋ ์์ํฌ์ ๊ตฌ์ ๋ฐ์ง ์์.
๋จ์ :
- ์น ์ปดํฌ๋ํธ์ ๋ํ ๋ธ๋ผ์ฐ์ ์ง์์ด ํ์ํฉ๋๋ค(๊ตฌํ ๋ธ๋ผ์ฐ์ ์ ๊ฒฝ์ฐ ํด๋ฆฌํ ์ฌ์ฉ ๊ฐ๋ฅ).
- ๋์ ๋ก๋ฉ ๋ฐ ํต์ ๊ตฌํ์ด ๋ณต์กํ ์ ์์ต๋๋ค.
์์: ๋ค๋ฅธ ๊ธฐ๋ฅ(์: ์ ํ ๋ชฉ๋ก, ์ฅ๋ฐ๊ตฌ๋, ๊ฒฐ์ )์ด ์น ์ปดํฌ๋ํธ๋ก ๊ตฌํ๋ ์ด์ปค๋จธ์ค ํ๋ซํผ. ์ด ์ปดํฌ๋ํธ๋ค์ ๋ค๋ฅธ ํ์ด์ง์์ ๋์ ์ผ๋ก ๋ก๋๋๊ณ ๋ ๋๋ง๋ ์ ์์ต๋๋ค.
4. ์๋ฐ์คํฌ๋ฆฝํธ ๋ชจ๋์ ํตํ ๋ฐํ์ ํตํฉ
๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋ชจ๋๋ก ๋ ธ์ถ๋์ด ๋ชจ๋ ๋ก๋๋ฅผ ์ฌ์ฉํ์ฌ ๋์ ์ผ๋ก ๋ก๋๋๊ณ ๋ ๋๋ง๋ ์ ์์ต๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ๋ก๋ฉ ํ๋ก์ธ์ค์ ๋ํ ๋ ํฐ ์ ์ฐ์ฑ๊ณผ ์ ์ด๊ถ์ ์ ๊ณตํฉ๋๋ค.
์ฅ์ :
- ์ ์ฐํ๊ณ ๋ง์ถคํ ๊ฐ๋ฅํ ๋ก๋ฉ ํ๋ก์ธ์ค.
- ์ง์ฐ ๋ก๋ฉ(lazy loading)์ผ๋ก ์ธํ ์ข์ ์ฑ๋ฅ.
๋จ์ :
- ๋ชจ๋ ๋ก๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ์ํฉ๋๋ค.
- ์์กด์ฑ ๋ฐ ํต์ ๊ด๋ฆฌ๊ฐ ๋ณต์กํ ์ ์์ต๋๋ค.
์์: ๋ค๋ฅธ ์น์ (์: ์คํฌ์ธ , ์ ์น, ๋น์ฆ๋์ค)์ด ๋ณ๋์ ์๋ฐ์คํฌ๋ฆฝํธ ๋ชจ๋๋ก ๊ตฌํ๋ ๋ด์ค ์น์ฌ์ดํธ. ์ด ๋ชจ๋๋ค์ ์ฌ์ฉ์ ํ์์ ๋ฐ๋ผ ๋์ ์ผ๋ก ๋ก๋๋๊ณ ๋ ๋๋ง๋ ์ ์์ต๋๋ค.
5. ESI (Edge Side Includes)
ESI๋ ๋คํธ์ํฌ์ ์ฃ์ง(์: CDN)์์ ์ฌ๋ฌ ์กฐ๊ฐ์ผ๋ก ์น ํ์ด์ง๋ฅผ ์กฐ๋ฆฝํ ์ ์๊ฒ ํด์ฃผ๋ ์๋ฒ ์ธก ๊ธฐ์ ์ ๋๋ค. ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ ๋ณ๋์ ์กฐ๊ฐ์ผ๋ก ๋ ๋๋ง๋๊ณ ESI ํ๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉ์ธ ํ์ด์ง์ ํฌํจ๋ ์ ์์ต๋๋ค.
์ฅ์ :
- ์ฃ์ง ์บ์ฑ์ผ๋ก ์ธํ ์ข์ ์ฑ๋ฅ.
- ๊ตฌํ์ด ๊ฐ๋จํฉ๋๋ค.
๋จ์ :
- ์๋ฒ ์ธก์์ ESI ์ง์์ด ํ์ํฉ๋๋ค.
- ํด๋ผ์ด์ธํธ ์ธก ์ํธ ์์ฉ ์ธก๋ฉด์์ ์ ์ฐ์ฑ์ด ์ ํ๋ฉ๋๋ค.
์์: ์ฌ๋ฌ ํ์ด ๋ค๋ฅธ ์ ํ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ๋ ๋๊ท๋ชจ ์ด์ปค๋จธ์ค ์น์ฌ์ดํธ. ๊ฐ ์นดํ ๊ณ ๋ฆฌ๋ ๋ณ๋์ ์กฐ๊ฐ์ผ๋ก ๋ ๋๋ง๋์ด ESI ํ๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉ์ธ ํ์ด์ง์ ํฌํจ๋ ์ ์์ต๋๋ค.
6. ์๋น์ค ๊ตฌ์ฑ (BFF - Backend for Frontend)
์ด ์ ๋ต์ BFF(Backend for Frontend)๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ์ค์ผ์คํธ๋ ์ด์ ํ๋ ๊ฒ์ ํฌํจํฉ๋๋ค. BFF๋ ์ค๊ฐ์ ์ญํ ์ ํ์ฌ ๋ค๋ฅธ ๋ฐฑ์๋ ์๋น์ค์์ ๋ฐ์ดํฐ๋ฅผ ์ง๊ณํ๊ณ ๊ฐ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋์ ์ต์ ํ๋ ํ์์ผ๋ก ํด๋ผ์ด์ธํธ์ ์ ๋ฌํฉ๋๋ค.
์ฅ์ :
- ๋ฐ์ดํฐ ์ง๊ณ๋ก ์ธํ ์ฑ๋ฅ ํฅ์.
- ๋จ์ํ๋ ํด๋ผ์ด์ธํธ ์ธก ๋ก์ง.
๋จ์ :
- ๋ฐฑ์๋ ์ํคํ ์ฒ์ ๋ณต์ก์ฑ์ ๋ํฉ๋๋ค.
- ํ๋ก ํธ์๋์ ๋ฐฑ์๋ ํ ๊ฐ์ ์ ์คํ ์กฐ์จ์ด ํ์ํฉ๋๋ค.
์์: ๋ค๋ฅธ ๊ธฐ๋ฅ(์: ๋ด์ค ํผ๋, ํ๋กํ ํ์ด์ง, ๋ฉ์์ง)์ด ๋ณ๋์ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ก ๊ตฌํ๋ ์์ ๋ฏธ๋์ด ํ๋ซํผ. BFF๋ ๋ค๋ฅธ ๋ฐฑ์๋ ์๋น์ค(์: ์ฌ์ฉ์ ์๋น์ค, ์ฝํ ์ธ ์๋น์ค, ๋ฉ์์ง ์๋น์ค)์์ ๋ฐ์ดํฐ๋ฅผ ์ง๊ณํ์ฌ ๊ฐ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋์ ์ต์ ํ๋ ํ์์ผ๋ก ํด๋ผ์ด์ธํธ์ ์ ๋ฌํฉ๋๋ค.
์ฌ๋ฐ๋ฅธ ์ ๋ต ์ ํํ๊ธฐ
์ต์์ ๊ตฌํ ์ ๋ต์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํน์ ์๊ตฌ ์ฌํญ, ํ์ ์ ๋ฌธ์ฑ, ๊ทธ๋ฆฌ๊ณ ๊ธฐ๊บผ์ด ๊ฐ์ํ ํธ๋ ์ด๋์คํ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ์ ๋ต์ ์ ํํ ๋ ๋ค์ ์์๋ฅผ ๊ณ ๋ คํ์ญ์์ค:
- ๋ณต์ก์ฑ: ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ผ๋ง๋ ๋ณต์กํ๊ณ ์ผ๋ง๋ ๋ง์ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ๊ด๋ฆฌํด์ผ ํฉ๋๊น?
- ์ฑ๋ฅ: ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ์ด ์ผ๋ง๋ ์ค์ํฉ๋๊น?
- ํ ์์จ์ฑ: ํ์ ์ผ๋ง๋ ๋ง์ ์์จ์ฑ์ ๋ถ์ฌํ๊ณ ์ถ์ต๋๊น?
- ๊ธฐ์ ๋ค์์ฑ: ๋ค๋ฅธ ๊ธฐ์ ๊ณผ ํ๋ ์์ํฌ๋ฅผ ์ง์ํด์ผ ํฉ๋๊น?
- ๋ฐฐํฌ ๋น๋: ์ ํ๋ฆฌ์ผ์ด์ ์ ์ผ๋ง๋ ์์ฃผ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐฐํฌํด์ผ ํฉ๋๊น?
- ๊ธฐ์กด ์ธํ๋ผ: ๊ธฐ์กด ์ธํ๋ผ๋ ๋ฌด์์ด๋ฉฐ ์ด๋ฏธ ์ฌ์ฉํ๊ณ ์๋ ๊ธฐ์ ์ ๋ฌด์์ ๋๊น?
๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ์ํคํ ์ฒ๋ฅผ ์ํ ๋ชจ๋ฒ ์ฌ๋ก
๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ๊ตฌํ์ ์ฑ๊ณต์ ๋ณด์ฅํ๋ ค๋ฉด ๋ค์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐ๋ฅด์ญ์์ค:
- ๋ช ํํ ๊ฒฝ๊ณ ์ ์: ์ค๋ณต๊ณผ ์ถฉ๋์ ํผํ๊ธฐ ์ํด ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ๊ฐ์ ๊ฒฝ๊ณ๋ฅผ ๋ช ํํ๊ฒ ์ ์ํ์ญ์์ค.
- ๊ณต์ ๋์์ธ ์์คํ ๊ตฌ์ถ: ๋ชจ๋ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋์์ ์คํ์ผ๋ง๊ณผ ๋ธ๋๋ฉ์ ์ผ๊ด์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ๊ณต์ ๋์์ธ ์์คํ ์ ๋ง๋์ญ์์ค.
- ๊ฒฌ๊ณ ํ ํต์ ๋ฉ์ปค๋์ฆ ๊ตฌํ: ์ด๋ฒคํธ๋ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ฐ์ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ๊ฐ์ ๋ช ํํ ํต์ ๋ฉ์ปค๋์ฆ์ ๊ตฌ์ถํ์ญ์์ค.
- ๋ฐฐํฌ ๋ฐ ํ ์คํธ ์๋ํ: ์ํํ ์ด์๊ณผ ๋์ ํ์ง์ ๋ณด์ฅํ๊ธฐ ์ํด ๊ฐ๋ ฅํ CI/CD ํ์ดํ๋ผ์ธ๊ณผ ์๋ํ๋ ํ ์คํธ ๋๊ตฌ์ ํฌ์ํ์ญ์์ค.
- ์ฑ๋ฅ ๋ฐ ์ค๋ฅ ๋ชจ๋ํฐ๋ง: ๋ฌธ์ ๋ฅผ ์ ์ํ๊ฒ ์๋ณํ๊ณ ํด๊ฒฐํ๊ธฐ ์ํด ํฌ๊ด์ ์ธ ๋ชจ๋ํฐ๋ง ๋ฐ ์ค๋ฅ ์ถ์ ์ ๊ตฌํํ์ญ์์ค.
- ํ์ ๊ณผ ์ํต ์ด์ง: ์กฐํ๋ฅผ ๋ณด์ฅํ๊ณ ๊ฐ๋ฑ์ ํผํ๊ธฐ ์ํด ํ ๊ฐ์ ํ์ ๊ณผ ์ํต์ ์ฅ๋ คํ์ญ์์ค.
- ๋ชจ๋ ๊ฒ ๋ฌธ์ํ: ๋ชจ๋ ์ฌ๋์ด ๊ฐ์ ์ ๋ณด๋ฅผ ๊ณต์ ํ ์ ์๋๋ก ์ํคํ ์ฒ, ๊ตฌํ ์ ๋ต ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฌธ์ํํ์ญ์์ค.
- ์ค์ ์ง์ค์ ๋ผ์ฐํ ์๋ฃจ์ ๊ณ ๋ ค: ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ๊ฐ์ ํ์์ ๊ด๋ฆฌํ๊ณ ์ผ๊ด๋ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ๊ธฐ ์ํด ์ค์ ์ง์ค์ ๋ผ์ฐํ ์๋ฃจ์ ์ ๊ตฌํํ์ญ์์ค.
- ๊ณ์ฝ ์ฐ์ ์ ๊ทผ ๋ฐฉ์ ์ฑํ: ํธํ์ฑ์ ๋ณด์ฅํ๊ณ ๋ธ๋ ์ดํน ์ฒด์ธ์ง(breaking changes)๋ฅผ ํผํ๊ธฐ ์ํด ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ๊ฐ์ ๋ช ํํ ๊ณ์ฝ์ ์ ์ํ์ญ์์ค.
์ค์ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ์ํคํ ์ฒ ์ฌ๋ก
๋ช๋ช ํ์ฌ๋ค์ ํฌ๊ณ ๋ณต์กํ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ธฐ ์ํด ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ์ํคํ ์ฒ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์ฑํํ์ต๋๋ค. ๋ช ๊ฐ์ง ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- Spotify: ์คํฌํฐํ์ด๋ ์น ํ๋ ์ด์ด์ ๋ฐ์คํฌํฑ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ๊ด๋ฒ์ํ๊ฒ ์ฌ์ฉํฉ๋๋ค. ๊ฐ๊ธฐ ๋ค๋ฅธ ํ์ด ๊ฒ์, ๋๋ฌ๋ณด๊ธฐ, ์ฌ์๊ณผ ๊ฐ์ ๋ค์ํ ๊ธฐ๋ฅ์ ์ฑ ์์ง๋๋ค.
- IKEA: ์ด์ผ์๋ ์ด์ปค๋จธ์ค ํ๋ซํผ์ ๊ตฌ์ถํ๊ธฐ ์ํด ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ฐ๊ธฐ ๋ค๋ฅธ ํ์ด ์ ํ ํ์ด์ง, ์ฅ๋ฐ๊ตฌ๋, ๊ฒฐ์ ์ ๊ฐ์ ์น์ฌ์ดํธ์ ๋ค๋ฅธ ๋ถ๋ถ์ ์ฑ ์์ง๋๋ค.
- OpenTable: ์คํํ ์ด๋ธ์ ๋ ์คํ ๋ ์์ฝ ํ๋ซํผ์ ๊ตฌ์ถํ๊ธฐ ์ํด ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ฐ๊ธฐ ๋ค๋ฅธ ํ์ด ๋ ์คํ ๋ ๊ฒ์, ํ ์ด๋ธ ์์ฝ, ๊ณ ๊ฐ ๋ฆฌ๋ทฐ์ ๊ฐ์ ๋ค์ํ ๊ธฐ๋ฅ์ ์ฑ ์์ง๋๋ค.
- Klarna: ์ค์จ๋ด์ ํํ ํฌ ํ์ฌ์ธ ํด๋ผ๋๋ ๊ธ๋ก๋ฒ ํ๋ซํผ์ ๊ตฌ์กฐํํ๊ธฐ ์ํด ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ ๋ฆฝ์ ์ธ ํ์ด ์ ํ์ ๋ค์ํ ์น์ ์์ ์์ ํ์ฌ ๋ ๋น ๋ฅธ ๊ฐ๋ฐ ์ฃผ๊ธฐ์ ํ์ ์ ์ด๋์ด๋ ๋๋ค.
๊ฒฐ๋ก
๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ์ํคํ ์ฒ๋ ํ์ฅ ๊ฐ๋ฅํ๊ณ , ์ ์ง๋ณด์ ๊ฐ๋ฅํ๋ฉฐ, ํ๋ ฅ์ ์ธ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ธฐ ์ํ ๊ฐ๋ ฅํ ์ ๊ทผ ๋ฐฉ์์ ์ ๊ณตํฉ๋๋ค. ํน์ ๊ณผ์ ๋ฅผ ์ผ๊ธฐํ๊ธฐ๋ ํ์ง๋ง, ๋ ๋ฆฝ์ ์ธ ๋ฐฐํฌ, ๊ธฐ์ ๋ค์์ฑ, ํ ์์จ์ฑ์ ์ด์ ์ ํนํ ํฌ๊ณ ๋ณต์กํ ํ๋ก์ ํธ์์ ์๋นํ ์ ์์ต๋๋ค. ์ด ๊ฐ์ด๋์์ ์ค๋ช ํ ๊ตฌํ ์ ๋ต๊ณผ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ ์คํ๊ฒ ๊ณ ๋ คํจ์ผ๋ก์จ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์ฑํํ๊ณ ํ๋ก ํธ์๋ ๊ฐ๋ฐ ๋ ธ๋ ฅ์ ์ ์ฌ๋ ฅ์ ์ต๋ํ ๋ฐํํ ์ ์์ต๋๋ค. ํ์ ๊ธฐ์ , ๋ฆฌ์์ค ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ํน์ ์๊ตฌ ์ฌํญ์ ๋ง๋ ์ฌ๋ฐ๋ฅธ ์ ๋ต์ ์ ํํ๋ ๊ฒ์ ๊ธฐ์ตํ์ญ์์ค. ์ฑ๊ณต์ ์ด์ ๋ ์ ์คํ ๊ณํ, ๋ช ํํ ์์ฌ์ํต, ๊ทธ๋ฆฌ๊ณ ํ์ ์ ๋ํ ํ์ ์ ์์ต๋๋ค.