์คํ์ ์ธ ์น ํ๋ซํผ API ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ํตํด ์ต์ฒจ๋จ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํํํด ๋ณด์ธ์. ์๋ก์ด ๊ธฐ๋ฅ, ์ฌ์ฉ ์ฌ๋ก ๋ฐ ์น ๊ฐ๋ฐ์ ๋ฏธ์น ์ ์ฌ์ ์ํฅ์ ๋ํด ์์๋ณด์ธ์.
์น ํ๋ซํผ API์ ๋ฏธ๋: ์คํ์ ์ธ ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ๋ฅ ๋ฏธ๋ฆฌ๋ณด๊ธฐ
์น ๊ฐ๋ฐ์ ์ธ๊ณ๋ ๋ ํ๋ถํ๊ณ , ์ํธ์์ฉ์ด ํ๋ฐํ๋ฉฐ, ์ฑ๋ฅ์ด ๋ฐ์ด๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์๊ตฌ์ ๋ฐ๋ผ ๋์์์ด ์งํํ๊ณ ์์ต๋๋ค. ์ด ์งํ์ ์ค์ฌ์๋ ์น์ ๋ณดํธ์ ์ธ ์ธ์ด์ธ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ค์ดํฐ๋ธ ๋ธ๋ผ์ฐ์ ๊ธฐ๋ฅ์ ๋ ธ์ถํ๋ ์น ํ๋ซํผ API๊ฐ ์์ต๋๋ค. ์ด ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์์๋ ํฅ๋ฏธ๋ก์ด ์คํ์ ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ๋ฅ์ ์ธ๊ณ๋ฅผ ํ๊ตฌํ๊ณ ์น ๊ฐ๋ฐ์ ๋ฏธ๋๋ฅผ ํ์ฑํ ์น ํ๋ซํผ API๋ฅผ ์ด์ง ์ฟ๋ด ๋๋ค. ์๋ก์ด ํ์ค์ ์ดํด๋ณด๊ณ , ์ ์ฌ์ ์ํฅ์ ๋ ผ์ํ๋ฉฐ, ์์ ๋๊ฐ๊ณ ์ ํ๋ ๊ฐ๋ฐ์๋ค์ ์ํ ๋ฆฌ์์ค๋ฅผ ๊ฐ์กฐํ ๊ฒ์ ๋๋ค.
์น ํ๋ซํผ API๋ ๋ฌด์์ธ๊ฐ์?
์น ํ๋ซํผ API๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๊ฐ ๋ธ๋ผ์ฐ์ ์ ๊ธฐ๋ฅ ๋ฐ ๊ธฐ๋ณธ ์ด์ ์ฒด์ ์ ์ํธ ์์ฉํ ์ ์๋๋ก ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ ๊ณตํ๋ ์ธํฐํ์ด์ค์ ๋๋ค. ์ด๋ฌํ API๋ ํ๋์จ์ด ๊ธฐ๋ฅ์ ์ ๊ทผํ๊ณ , DOM์ ์กฐ์ํ๋ฉฐ, ์ฌ์ฉ์ ์ํธ์์ฉ์ ์ฒ๋ฆฌํ๊ณ , ๋คํธ์ํฌ ์์ฒญ์ ์ํํ ์ ์๋ ๋์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋์ ์น ๋ธ๋ผ์ฐ์ ์ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ ์ฌ์ด์ ๋ค๋ฆฌ๋ผ๊ณ ์๊ฐํ๋ฉด ๋ฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์น ํ๋ซํผ API์ ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- DOM API: HTML ๋ฌธ์์ ๊ตฌ์กฐ, ์คํ์ผ, ์ฝํ ์ธ ๋ฅผ ์กฐ์ํ๊ธฐ ์ํ API์ ๋๋ค.
- Fetch API: ๋คํธ์ํฌ ์์ฒญ(์: ์๋ฒ์์ ๋ฐ์ดํฐ ๊ฒ์)์ ์ํ API์ ๋๋ค.
- ์น ์คํ ๋ฆฌ์ง API (localStorage, sessionStorage): ๋ฐ์ดํฐ๋ฅผ ์๊ตฌ์ ์ผ๋ก ๋๋ ๋จ์ผ ์ธ์ ๋์ ์ ์ฅํ๊ธฐ ์ํ API์ ๋๋ค.
- Geolocation API: ์ฌ์ฉ์์ ์์น์ ์ ๊ทผํ๊ธฐ ์ํ API์ ๋๋ค(์ฌ์ฉ์ ํ๊ฐ ํ์).
- Canvas API: ๊ทธ๋ํฝ๊ณผ ์ ๋๋ฉ์ด์ ์ ๊ทธ๋ฆฌ๊ธฐ ์ํ API์ ๋๋ค.
ํ์คํ ๊ณผ์ : TC39์ ECMAScript ํ์ค
์๋ฐ์คํฌ๋ฆฝํธ๋ ECMAScript ํ์ค์ ์์ ํ๋ ์ ๋ฌธ๊ฐ ์์ํ์ธ TC39(Technical Committee 39)์ ์ํด ํ์คํ๋ฉ๋๋ค. ECMAScript ํ์ค์ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ตฌ๋ฌธ๊ณผ ์๋ฏธ๋ฅผ ์ ์ํฉ๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์ ์ ์๋ ์๋ก์ด ๊ธฐ๋ฅ์ ์๊ฒฉํ ํ์คํ ๊ณผ์ ์ ๊ฑฐ์น๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก ์ฌ๋ฌ ๋จ๊ณ๋ฅผ ํฌํจํฉ๋๋ค:
- 0๋จ๊ณ (Strawman): ๊ธฐ๋ฅ์ ๋ํ ์ด๊ธฐ ์์ด๋์ด.
- 1๋จ๊ณ (Proposal): ๋ฌธ์ ์ค๋ช , ํด๊ฒฐ์ฑ , ์์๋ฅผ ํฌํจํ ๊ณต์ ์ ์.
- 2๋จ๊ณ (Draft): ๊ธฐ๋ฅ์ ๋ํ ๋ ์์ธํ ์ฌ์.
- 3๋จ๊ณ (Candidate): ์ฌ์์ด ์์ ํ๋ค๊ณ ๊ฐ์ฃผ๋๋ฉฐ ๊ตฌํ ๋ฐ ํ ์คํธ ์ค๋น ์๋ฃ.
- 4๋จ๊ณ (Finished): ๊ธฐ๋ฅ์ด ECMAScript ํ์ค์ ํฌํจ๋ ์ค๋น ์๋ฃ.
๋ง์ ์คํ์ ๊ธฐ๋ฅ๋ค์ 4๋จ๊ณ์ ๋๋ฌํ๊ธฐ ์ ์ ๋ธ๋ผ์ฐ์ ์์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์ข ์ข ๊ธฐ๋ฅ ํ๋๊ทธ ๋ค์ ์จ๊ฒจ์ ธ ์๊ฑฐ๋ ์ค๋ฆฌ์ง ํธ๋ผ์ด์ผ์ ์ผ๋ถ๋ก ์ ๊ณต๋ฉ๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๋ค์ ์ด๋ฌํ ๊ธฐ๋ฅ์ ์คํํ๊ณ TC39์ ํผ๋๋ฐฑ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
์คํ์ ์ธ ์น ํ๋ซํผ API ํ์ํ๊ธฐ
ํ์ฌ ๊ฐ๋ฐ ์ค์ธ ๋ช ๊ฐ์ง ํฅ๋ฏธ๋ก์ด ์คํ์ ์น ํ๋ซํผ API๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ด๋ฌํ API๋ ๋ณ๊ฒฝ๋ ์ ์์ผ๋ฉฐ, ๋ธ๋ผ์ฐ์ ๋ง๋ค ์ฌ์ฉ ๊ฐ๋ฅ ์ฌ๋ถ๊ฐ ๋ค๋ฅผ ์ ์๋ค๋ ์ ์ ๋ช ์ฌํ์ธ์.
1. WebGPU
์ค๋ช : WebGPU๋ ๊ณ ๊ธ ๊ทธ๋ํฝ ๋ฐ ๊ณ์ฐ์ ์ํด ์ต์ GPU ๊ธฐ๋ฅ์ ๋ ธ์ถํ๋ ์๋ก์ด ์น API์ ๋๋ค. WebGL์ ํ์ ๊ธฐ์ ๋ก ์ค๊ณ๋์์ผ๋ฉฐ, ํฅ์๋ ์ฑ๋ฅ๊ณผ ๋ ๊ณ ๊ธ ๊ธฐ๋ฅ์ ๋ํ ์ ๊ทผ์ ์ ๊ณตํฉ๋๋ค.
์ฌ์ฉ ์ฌ๋ก:
- ๊ณ ๊ธ 3D ๊ทธ๋ํฝ: ๊ฒ์, ์๋ฎฌ๋ ์ด์ , ์๊ฐํ๋ฅผ ์ํ ์ฌ์ค์ ์ด๊ณ ๋ชฐ์ ๊ฐ ์๋ 3D ํ๊ฒฝ ์ ์.
- ๋จธ์ ๋ฌ๋: GPU์ ๋ณ๋ ฌ ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ ํ์ฉํ์ฌ ๋จธ์ ๋ฌ๋ ์ํฌ๋ก๋ ๊ฐ์ํ.
- ์ด๋ฏธ์ง ๋ฐ ๋น๋์ค ์ฒ๋ฆฌ: ๋ณต์กํ ์ด๋ฏธ์ง ๋ฐ ๋น๋์ค ์ฒ๋ฆฌ ์์ ์ ํจ์จ์ ์ผ๋ก ์ํ.
์์: ์น ๊ธฐ๋ฐ ์๋ฃ ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ด WebGPU๋ฅผ ์ฌ์ฉํ์ฌ MRI ๋๋ CT ์ค์บ์ผ๋ก ์ฅ๊ธฐ์ ์์ธํ 3D ๋ชจ๋ธ์ ๋ ๋๋งํ๋ค๊ณ ์์ํด ๋ณด์ธ์. ์ด๋ฅผ ํตํด ์์ฌ๋ ์ง๋ณ์ ๋ ์ ํํ๊ฒ ์ง๋จํ๊ณ ์์ ์ ๋ ํจ๊ณผ์ ์ผ๋ก ๊ณํํ ์ ์์ต๋๋ค.
์ํ: ๊ฐ๋ฐ ์ค์ด๋ฉฐ, ์ผ๋ถ ๋ธ๋ผ์ฐ์ ์์ ๊ธฐ๋ฅ ํ๋๊ทธ๋ฅผ ํตํด ์ฌ์ฉ ๊ฐ๋ฅ.
2. ์น ์ฝ๋ฑ API (WebCodecs API)
์ค๋ช : ์น ์ฝ๋ฑ API๋ ๋น๋์ค ๋ฐ ์ค๋์ค ์ฝ๋ฑ์ ๋ํ ์ ์์ค ์ ๊ทผ์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๋ ์ธ์ฝ๋ฉ ๋ฐ ๋์ฝ๋ฉ์ ๋ํ ๋ ํฐ ์ ์ด๊ถ์ ๊ฐ์ง๊ณ ๋ ์ ๊ตํ ๋ฉํฐ๋ฏธ๋์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
์ฌ์ฉ ์ฌ๋ก:
- ํ์ ํ์: ๋ค์ํ ๋คํธ์ํฌ ์กฐ๊ฑด์ ์ต์ ํ๋ ์ธ์ฝ๋ฉ ๋ฐ ๋์ฝ๋ฉ์ ๊ฐ์ถ ๋ง์ถคํ ํ์ ํ์ ์๋ฃจ์ ๊ตฌํ.
- ๋น๋์ค ํธ์ง: ๋ค์ํ ๋น๋์ค ํ์์ ์ฒ๋ฆฌํ๊ณ ๋ณต์กํ ํธ์ง ์์ ์ ์ํํ ์ ์๋ ์น ๊ธฐ๋ฐ ๋น๋์ค ํธ์ง๊ธฐ ๊ตฌ์ถ.
- ์คํธ๋ฆฌ๋ฐ ๋ฏธ๋์ด: ์ ์ํ ๋นํธ๋ ์ดํธ ์คํธ๋ฆฌ๋ฐ ๋ฐ ๊ธฐํ ๊ณ ๊ธ ๊ธฐ๋ฅ์ ๊ฐ์ถ ๊ณ ๊ธ ์คํธ๋ฆฌ๋ฐ ๋ฏธ๋์ด ํ๋ ์ด์ด ์ ์.
์์: ๋์ฟ์ ๋ฐ๋์ ํ์ด ๋น๋์ค ํ๋ก์ ํธ์์ ํ์ ํ ๋, ์น ์ฝ๋ฑ API๋ก ๊ตฌ๋๋๋ ์น ๊ธฐ๋ฐ ๋น๋์ค ํธ์ง๊ธฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ธํฐ๋ท ์ฐ๊ฒฐ ์๋์ ๊ด๊ณ์์ด ๊ณ ํด์๋ ๋น๋์ค ์์์ ์ํํ๊ฒ ํธ์งํ๊ณ ๊ณต์ ํ ์ ์์ต๋๋ค.
์ํ: ๊ฐ๋ฐ ์ค์ด๋ฉฐ, ์ผ๋ถ ๋ธ๋ผ์ฐ์ ์์ ๊ธฐ๋ฅ ํ๋๊ทธ๋ฅผ ํตํด ์ฌ์ฉ ๊ฐ๋ฅ.
3. ์คํ ๋ฆฌ์ง ์ ๊ทผ API (Storage Access API)
์ค๋ช : ์คํ ๋ฆฌ์ง ์ ๊ทผ API๋ ์น์ฌ์ดํธ์ ๋ด์ฅ๋ ์๋ํํฐ iframe์ด ํผ์คํธํํฐ ์คํ ๋ฆฌ์ง(์ฟ ํค, localStorage ๋ฑ)์ ๋ํ ์ ๊ทผ์ ์์ฒญํ ์ ์๋๋ก ํฉ๋๋ค. ์ด๋ ์ฆ๊ฐํ๋ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๊ท์ ์ ์๋ํํฐ ์ฟ ํค ๋จ๊ณ์ ํ์ง์ ๋งฅ๋ฝ์์ ํนํ ์ค์ํฉ๋๋ค.
์ฌ์ฉ ์ฌ๋ก:
์์: ์ ๋ฝ์ ์ ์ ์๊ฑฐ๋ ์น์ฌ์ดํธ๊ฐ ๋ฏธ๊ตญ ๊ธฐ๋ฐ ํ์ฌ์ ๊ฒฐ์ ๊ฒ์ดํธ์จ์ด๋ฅผ ๋ด์ฅํ๋ ๊ฒฝ์ฐ. ์คํ ๋ฆฌ์ง ์ ๊ทผ API๋ฅผ ํตํด ๊ฒฐ์ ๊ฒ์ดํธ์จ์ด๋ ์ฌ์ฉ์ ๊ฐ์ธ ์ ๋ณด๋ฅผ ์นจํดํ์ง ์์ผ๋ฉด์ ๊ฑฐ๋ ์ฒ๋ฆฌ์ ํ์ํ ๋ฐ์ดํฐ์ ์์ ํ๊ฒ ์ ๊ทผํ ์ ์์ต๋๋ค.
์ํ: ์ผ๋ถ ๋ธ๋ผ์ฐ์ ์์ ์ฌ์ฉ ๊ฐ๋ฅ.
4. WebAssembly (WASM) ์์คํ ์ธํฐํ์ด์ค (WASI)
์ค๋ช : WASI๋ WASM ๋ชจ๋์ด ์์ ํ๊ณ ์ด์ ๊ฐ๋ฅํ ๋ฐฉ์์ผ๋ก ์์คํ ๋ฆฌ์์ค(์: ํ์ผ, ๋คํธ์ํฌ)์ ์ ๊ทผํ ์ ์๋๋ก ํ๋ WebAssembly์ ์์คํ ์ธํฐํ์ด์ค์ ๋๋ค. ์ด๋ WASM์ ๊ธฐ๋ฅ์ ๋ธ๋ผ์ฐ์ ๋ฅผ ๋์ด ํ์ฅํ๊ณ , ์๋ฒ ์ธก ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ์๋ฒ ๋๋ ์ฅ์น์ ๊ฐ์ ๋ค๋ฅธ ํ๊ฒฝ์์๋ ์ฌ์ฉํ ์ ์๊ฒ ํฉ๋๋ค.
์ฌ์ฉ ์ฌ๋ก:
- ์๋ฒ ์ธก ์ ํ๋ฆฌ์ผ์ด์ : C++ ๋๋ Rust์ ๊ฐ์ ์ธ์ด๋ก ์์ฑ๋์ด WASM์ผ๋ก ์ปดํ์ผ๋ ๊ณ ์ฑ๋ฅ ์๋ฒ ์ธก ์ ํ๋ฆฌ์ผ์ด์ ์คํ.
- ์๋ฒ ๋๋ ์ฅ์น: ์ ํ๋ ๋ฆฌ์์ค๋ฅผ ๊ฐ์ง ์๋ฒ ๋๋ ์ฅ์น์ WASM ๋ชจ๋ ๋ฐฐํฌ.
- ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ: ์์ ์์ด ๋ค๋ฅธ ํ๋ซํผ์์ ์คํํ ์ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์.
์์: ๊ธ๋ก๋ฒ ๋ฌผ๋ฅ ํ์ฌ๊ฐ WASM๊ณผ WASI๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ฌผ ์ถ์ ์ ์ํ ํฌ๋ก์ค ํ๋ซํผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ณ , ์ด๋ฅผ ์ ์ธ๊ณ ์ฐฝ๊ณ ์ ์น ๋ธ๋ผ์ฐ์ ์ ์๋ฒ ๋๋ ์ฅ์น ๋ชจ๋์ ๋ฐฐํฌํฉ๋๋ค.
์ํ: ๊ฐ๋ฐ ์ค.
5. ์ ์ธ์ ์๋ DOM (Declarative Shadow DOM)
์ค๋ช : ์ ์ธ์ ์๋ DOM์ ์ฌ์ฉํ๋ฉด ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํตํด์๋ง ๊ฐ๋ฅํ๋ ์๋ DOM ํธ๋ฆฌ๋ฅผ HTML์์ ์ง์ ์ ์ํ ์ ์์ต๋๋ค. ์ด๋ ์ฑ๋ฅ์ ํฅ์์ํค๊ณ ๊ฐ๋ฐ์ ๋จ์ํํ๋ฉฐ, ์๋ฒ์์ ์๋ DOM์ ๋ ๋๋งํ๊ธฐ ์ฝ๊ฒ ๋ง๋ญ๋๋ค.
์ฌ์ฉ ์ฌ๋ก:
- ์น ์ปดํฌ๋ํธ: ์บก์ํ๋ ์คํ์ผ๊ณผ ๋์์ ๊ฐ์ง ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์น ์ปดํฌ๋ํธ ๊ตฌ์ถ.
- ์ฑ๋ฅ ํฅ์: ์๋ DOM ํธ๋ฆฌ๋ฅผ ๋ง๋๋ ๋ฐ ํ์ํ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋ ์์ ์ค์ฌ ํ์ด์ง ๋ก๋ ์๊ฐ ๋จ์ถ.
- ์๋ฒ ์ธก ๋ ๋๋ง: ํฅ์๋ SEO ๋ฐ ์ด๊ธฐ ํ์ด์ง ๋ก๋ ์ฑ๋ฅ์ ์ํด ์๋ฒ์์ ์๋ DOM ๋ ๋๋ง.
์์: ๋ค๊ตญ์ ๊ธฐ์ ์ด ์ ์ธ์ ์๋ DOM์ ์ฌ์ฉํ๋ ์น ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ํ ์น์ฌ์ดํธ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ผ๊ด๋ ๋์์ธ ์์คํ ์ ๊ตฌ์ถํ๊ณ , ์ ์ธ๊ณ ๊ณ ๊ฐ์๊ฒ ํต์ผ๋ ๋ธ๋๋ ๊ฒฝํ์ ๋ณด์ฅํฉ๋๋ค.
์ํ: ์ผ๋ถ ๋ธ๋ผ์ฐ์ ์์ ์ฌ์ฉ ๊ฐ๋ฅ.
6. ์ฐ์ ์์ ์์ ์ค์ผ์ค๋ง API (Prioritized Task Scheduling API)
์ค๋ช : ์ฐ์ ์์ ์์ ์ค์ผ์ค๋ง API๋ฅผ ํตํด ๊ฐ๋ฐ์๋ ๋ธ๋ผ์ฐ์ ์ ์ด๋ฒคํธ ๋ฃจํ์์ ์์ ์ ์ฐ์ ์์๋ฅผ ์ง์ ํ์ฌ ๊ฐ์ฅ ์ค์ํ ์์ (์: ์ฌ์ฉ์ ์ํธ์์ฉ)์ด ๋จผ์ ์คํ๋๋๋ก ํ ์ ์์ต๋๋ค. ์ด๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ์์ฑ๊ณผ ์ฒด๊ฐ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
์ฌ์ฉ ์ฌ๋ก:
- ๋ฐ์์ฑ ํฅ์: ๋ธ๋ผ์ฐ์ ๊ฐ ๋ค๋ฅธ ์์ ์ผ๋ก ๋ฐ์ ๋์๋ ์ฌ์ฉ์ ์ํธ์์ฉ์ด ์ ์ํ๊ฒ ์ฒ๋ฆฌ๋๋๋ก ๋ณด์ฅ.
- ๋ ๋ถ๋๋ฌ์ด ์ ๋๋ฉ์ด์ : ๋ฒ๋ฒ ๊ฑฐ๋ฆผ๊ณผ ๋๊น ํ์์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ ๋๋ฉ์ด์ ์์ ์ ์ฐ์ ์์ ์ง์ .
- ํฅ์๋ ์ฌ์ฉ์ ๊ฒฝํ: ํนํ ์ ํ๋ ๋ฆฌ์์ค๋ฅผ ๊ฐ์ง ์ฅ์น์์ ๋ ์ ๋์ ์ด๊ณ ๋ฐ์์ฑ ์๋ ์ฌ์ฉ์ ๊ฒฝํ ์ ๊ณต.
์์: ์จ๋ผ์ธ ๊ฒ์ ํ๋ซํผ์ด ์ฐ์ ์์ ์์ ์ค์ผ์ค๋ง API๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ์ ๋ ฅ๊ณผ ๊ฒ์ ๋ก์ง์ด ์ต์ํ์ ์ง์ฐ ์๊ฐ์ผ๋ก ์ฒ๋ฆฌ๋๋๋ก ๋ณด์ฅํ์ฌ ์ ์ธ๊ณ ํ๋ ์ด์ด์๊ฒ ๋ถ๋๋ฝ๊ณ ๋ฐ์์ฑ ์๋ ๊ฒ์ ๊ฒฝํ์ ์ ๊ณตํฉ๋๋ค.
์ํ: ๊ฐ๋ฐ ์ค.
์คํ์ API๋ฅผ ์คํํ๋ ๋ฐฉ๋ฒ
๋๋ถ๋ถ์ ์คํ์ API๋ ๋ธ๋ผ์ฐ์ ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ด ์์ง ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ธฐ๋ฅ ํ๋๊ทธ๋ฅผ ํตํด ํ์ฑํํ๊ฑฐ๋ ์ค๋ฆฌ์ง ํธ๋ผ์ด์ผ์ ์ฐธ์ฌํด์ผ ํฉ๋๋ค.
๊ธฐ๋ฅ ํ๋๊ทธ
๊ธฐ๋ฅ ํ๋๊ทธ๋ ์คํ์ ๊ธฐ๋ฅ์ ํ์ฑํํ ์ ์๋ ๋ธ๋ผ์ฐ์ ์ค์ ์
๋๋ค. ๊ธฐ๋ฅ ํ๋๊ทธ๋ฅผ ํ์ฑํํ๋ ๊ณผ์ ์ ๋ธ๋ผ์ฐ์ ์ ๋ฐ๋ผ ๋ค๋ฆ
๋๋ค. ์๋ฅผ ๋ค์ด, ํฌ๋กฌ์์๋ ์ฃผ์์ฐฝ์ chrome://flags
๋ฅผ ์
๋ ฅํ์ฌ ๊ธฐ๋ฅ ํ๋๊ทธ์ ์ ๊ทผํ ์ ์์ต๋๋ค.
์ค์: ์คํ์ ๊ธฐ๋ฅ์ ๋ถ์์ ํ ์ ์์ผ๋ฉฐ ๋ธ๋ผ์ฐ์ ๋ ์น์ฌ์ดํธ์ ๋ฌธ์ ๋ฅผ ์ผ์ผํฌ ์ ์์์ ์ธ์งํด์ผ ํฉ๋๋ค. ๊ฐ๋ฐ ํ๊ฒฝ์์ ์คํ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ณ ํ๋ก๋์ ํ๊ฒฝ์์๋ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ค๋ฆฌ์ง ํธ๋ผ์ด์ผ
์ค๋ฆฌ์ง ํธ๋ผ์ด์ผ์ ํตํด ๊ฐ๋ฐ์๋ ์ค์ ํ๊ฒฝ์์ ์คํ์ API๋ฅผ ํ ์คํธํ ์ ์์ต๋๋ค. ์ค๋ฆฌ์ง ํธ๋ผ์ด์ผ์ ์ฐธ์ฌํ๋ ค๋ฉด ์น์ฌ์ดํธ๋ฅผ ๋ธ๋ผ์ฐ์ ๊ณต๊ธ์ ์ฒด์ ๋ฑ๋กํ๊ณ ์ค๋ฆฌ์ง ํธ๋ผ์ด์ผ ํ ํฐ์ ๋ฐ์์ผ ํฉ๋๋ค. ์ด ํ ํฐ์ ์น์ฌ์ดํธ์ HTML ๋๋ HTTP ํค๋์ ํฌํจ๋์ด์ผ ํฉ๋๋ค.
์ค๋ฆฌ์ง ํธ๋ผ์ด์ผ์ ์คํ์ API๋ฅผ ํ ์คํธํ๊ธฐ ์ํ ๋ ํต์ ๋ ํ๊ฒฝ์ ์ ๊ณตํ๋ฉฐ ๊ฐ๋ฐ์๊ฐ ๋ธ๋ผ์ฐ์ ๊ณต๊ธ์ ์ฒด์ ๊ท์คํ ํผ๋๋ฐฑ์ ์ ๊ณตํ ์ ์๋๋ก ํฉ๋๋ค.
์น ๊ฐ๋ฐ์ ๋ฏธ์น๋ ์ํฅ
์ด๋ฌํ ์คํ์ ์ธ ์น ํ๋ซํผ API๋ ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ์์ผ๋ก ์น ๊ฐ๋ฐ์ ์๋นํ ์ํฅ์ ๋ฏธ์น ์ ์ฌ๋ ฅ์ ๊ฐ์ง๊ณ ์์ต๋๋ค:
- ์ฑ๋ฅ ํฅ์: WebGPU ๋ฐ WASI์ ๊ฐ์ API๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋นํ ์ฑ๋ฅ ํฅ์์ ์ด๋์ด๋ผ ์ ์์ต๋๋ค.
- ์ฌ์ฉ์ ๊ฒฝํ ๊ฐ์ : ์ฐ์ ์์ ์์ ์ค์ผ์ค๋ง API์ ๊ฐ์ API๋ ๋ ๋ฐ์์ฑ ์๊ณ ์ ๋์ ์ธ ์ฌ์ฉ์ ๊ฒฝํ์ผ๋ก ์ด์ด์ง ์ ์์ต๋๋ค.
- ์๋ก์ด ๊ธฐ๋ฅ: ์น ์ฝ๋ฑ API์ ๊ฐ์ API๋ ๋ฉํฐ๋ฏธ๋์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ก์ด ๊ฐ๋ฅ์ฑ์ ์ด์ด์ค๋๋ค.
- ๋ณด์ ๋ฐ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๊ฐํ: ์คํ ๋ฆฌ์ง ์ ๊ทผ API์ ๊ฐ์ API๋ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ๋ฐ์ดํฐ ์ ๊ทผ์ ๋ํ ๋ ๋ง์ ์ ์ด๊ถ์ ์ ๊ณตํฉ๋๋ค.
์ต์ ์ ๋ณด ์ ์งํ๊ธฐ
์น ๊ฐ๋ฐ์ ์ธ๊ณ๋ ๋์์์ด ๋ณํํ๋ฏ๋ก ์ต์ ๊ฐ๋ฐ ๋ํฅ์ ํ์ ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ต์ ์ ๋ณด๋ฅผ ์ป๋ ๋ฐ ๋์์ด ๋๋ ๋ช ๊ฐ์ง ๋ฆฌ์์ค๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- TC39 ์ ์์: https://github.com/tc39/proposals - ์๋ฐ์คํฌ๋ฆฝํธ์ ์ ์๋ ์๋ก์ด ๊ธฐ๋ฅ์ ์งํ ์ํฉ์ ์ถ์ ํฉ๋๋ค.
- ๋ธ๋ผ์ฐ์ ๊ณต๊ธ์ ์ฒด ๋ธ๋ก๊ทธ: ์ฃผ์ ๋ธ๋ผ์ฐ์ ๊ณต๊ธ์ ์ฒด(์: Google Chrome ๊ฐ๋ฐ์, Mozilla Hacks, Microsoft Edge ๋ธ๋ก๊ทธ)์ ๋ธ๋ก๊ทธ๋ฅผ ํ๋ก์ฐํ์ฌ ์๋ก์ด ๊ธฐ๋ฅ ๋ฐ ์ ๋ฐ์ดํธ์ ๋ํ ๊ณต์ง๋ฅผ ํ์ธํฉ๋๋ค.
- ์น ๊ฐ๋ฐ ์ปค๋ฎค๋ํฐ: ์จ๋ผ์ธ ์ปค๋ฎค๋ํฐ(์: Stack Overflow, Reddit)์ ์ฐธ์ฌํ์ฌ ์๋ก์ด ๊ธฐ์ ์ ๋ํด ๋ ผ์ํ๊ณ ๋ค๋ฅธ ๊ฐ๋ฐ์๋ค๊ณผ ์ง์์ ๊ณต์ ํฉ๋๋ค.
- MDN ์น ๋ฌธ์: https://developer.mozilla.org/ko/ - ๋ชจ๋ ์น ํ๋ซํผ API์ ๋ํ ๋ฌธ์๋ฅผ ๊ฐ์ถ ์น ๊ฐ๋ฐ์๋ฅผ ์ํ ํฌ๊ด์ ์ธ ๋ฆฌ์์ค์ ๋๋ค.
๊ฒฐ๋ก
์ด ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์์ ๋ ผ์๋ ์คํ์ ์ธ ์น ํ๋ซํผ API๋ ์น ๊ฐ๋ฐ์ ์ต์ฒจ๋จ์ ๋ํํฉ๋๋ค. ์ด๋ฌํ API๋ฅผ ์คํํ๊ณ ๋ธ๋ผ์ฐ์ ๊ณต๊ธ์ ์ฒด์ ํผ๋๋ฐฑ์ ์ ๊ณตํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ์น์ ๋ฏธ๋๋ฅผ ํ์ฑํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ธฐ๋ฅ๋ค์ ์์ง ๊ฐ๋ฐ ์ค์ด๊ณ ๋ณ๊ฒฝ๋ ์ ์์ง๋ง, ์์ผ๋ก ํผ์ณ์ง ํฅ๋ฏธ๋ก์ด ๊ฐ๋ฅ์ฑ์ ์ฟ๋ณผ ์ ์๊ฒ ํด์ค๋๋ค.
ํ์ ์ ์ ์ ์ ๋ฐ์๋ค์ด๊ณ ์ด ์๋ก์ด ๊ฐ์ฒ์ง๋ฅผ ํํํ์ธ์! ์ฌ๋ฌ๋ถ์ ์คํ๊ณผ ํผ๋๋ฐฑ์ ์์น๋ ๋ฐฐ๊ฒฝ์ ๊ด๊ณ์์ด ๋ชจ๋ ์ฌ๋์ ์ํ ๋ ๊ฐ๋ ฅํ๊ณ , ์ฑ๋ฅ์ด ๋ฐ์ด๋๋ฉฐ, ์ฌ์ฉ์ ์นํ์ ์ธ ์น์ ์ํ ๊ธธ์ ๋ฆ๋ ๋ฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค. ์น ๊ฐ๋ฐ์ ๋ฏธ๋๋ ์ฌ๋ฌ๋ถ์ ์์ ๋ฌ๋ ค ์์ต๋๋ค.