๐๏ธ ์ฃผ๊ฐ ๋ด์ค๋ ํฐ - ํด์ธ ํ๋ก ํธ์๋ ๊ธฐ์ ํธ๋ ๋ - 7์ 4์ฃผ์ฐจ
๋งค์ฃผ ์์์ผ, ํด์ธ ํ๋ก ํธ์๋ ๊ธฐ์ ํธ๋ ๋ ์ค ์ฃผ๋ชฉํ ๋งํ ๋ด์ฉ๋ค์ ์ ๋ณํด ๊ณต์ ๋๋ฆฝ๋๋ค. ์ฝ๊ณ ๋น ๋ฅด๊ฒ ์ ๊ณ ํธ๋ ๋๋ฅผ ํจ๊ป ์ดํด๋ณด์์. --- 1. ๋ฆฌ์กํธ 18์ด ์ด๋ป๊ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ ๊ฐ์ ํ๋๊ฐ How React 18 Improves Application Performance ๋งํฌ: https://vercel.com/blog/how-react-18-improves-application-performance ์ด ๊ธ์ Vercel ํ์์ ์์ฑํ ๋ธ๋ก๊ทธ ํฌ์คํธ๋ก, React 18์ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ ๊ฐ์ ์ ๋ํด ์ค๋ช ํ๊ณ ์์ต๋๋ค. React 18์ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด ์ฌ๋ฌ ๊ฐ์ง ๋นํ์ธ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๋์ ํ์์ต๋๋ค. ๊ทธ ์ค์์๋ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ผ๋ก๋ Concurrent Renderer์ Suspense ์ปดํฌ๋ํธ ์ ๋ฐ์ดํธ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. Concurrent Renderer๋ ๋ณ๋ ฌ ๋ ๋๋ง์ ํตํด ์ฑ๋ฅ์ ์ต์ ํํ์ฌ ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํค๋๋ฐ ๋์์ ์ฃผ๊ณ , Suspense ์ปดํฌ๋ํธ ์ ๋ฐ์ดํธ๋ ๋ฐ์ดํฐ ๋ก๋ฉ๊ณผ ์๋ฌ ์ฒ๋ฆฌ๋ฅผ ๋์ฑ ํจ์จ์ ์ผ๋ก ๋ค๋ฃฐ ์ ์๊ฒ ํด์ค๋๋ค. React 18์ ์ด๋ฌํ ๊ฐ์ ์ฌํญ๋ค์ React ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ ํฅ์์ ๊ธฐ์ฌํ ๊ฒ์ผ๋ก ๊ธฐ๋๋ฉ๋๋ค. 2. Reactivity ์ค์ ์ ๋ฌธ A Hands-on Introduction to Fine-Grained Reactivity ๋งํฌ: https://dev.to/ryansolid/a-hands-on-introduction-to-fine-grained-reactivity-3ndf ์ด ๊ธ์ Ryan Carniato๊ฐ ์์ฑํ ๋ธ๋ก๊ทธ ํฌ์คํธ๋ก, ์ธ๋ฐํ Reactivity์ ๋ํ ์ค์ ์ ๋ฌธ์ ์ ๊ณตํฉ๋๋ค. Reactivity๋ ์ํ ๋ณํ์ ๋ฐ๋ผ UI๊ฐ ์ด๋ป๊ฒ ๋ฐ์ํ๋์ง๋ฅผ ๋ค๋ฃจ๋ ๊ฐ๋ ์ธ๋ฐ, ์ด ๊ธ์ ๊ธฐ์ด๋ถํฐ ์์ํ์ฌ ์ธ๋ฐํ Reactivity์ ๋ํด ์์ธํ๊ฒ ์ค๋ช ํ๊ณ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๋ค์ ์ํ ๊ด๋ฆฌ์ UI ์ ๋ฐ์ดํธ๋ฅผ ๋ณด๋ค ์ ๊ตํ๊ฒ ๋ค๋ฃฐ ์ ์๊ฒ ๋๋ฉฐ, ๋ ํจ์จ์ ์ด๊ณ ์ ์ฐํ ๋ฆฌ์กํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋ ๋ฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค. 3. Radash: lodash์ Ramda์ ๊ฒฝ์์ ๋งํฌ: https://github.com/rayepps/radash lodash๋ ramda๋ (ํน์ underscore์ด๋..), ๊ณผ๊ฑฐ ์ ํธ๋ฆฌํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๋จ๊ฑฐ์ด ๋ ผ์์ ํด๋ณธ ๊ฒฝํ์ด ์๋์? Radash๋ lodash, ramda์ ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ฒฝ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ฃผ๋ชฉ์ ๋ฐ๊ณ ์์ต๋๋ค. 4. ArrowJS ๋งํฌ: https://www.arrow-js.com/ ์ด์ ์ ์๊ฐ๋ htmx์ ์ด์ด์ ์ต๊ทผ์ ์๊ฐ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ ArrowJS๋ฅผ ์๊ฐํฉ๋๋ค. ArrowJS๋ ์ต์์ฃผ์๋ฅผ ๊ฐ์กฐํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก, ์์ถ๋ 2KB ํฌ๊ธฐ์ ์ฝ๋ ๋ฒ๋ค์ ๋ฆฌ์กํฐ๋ธ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ต์ํ์ ์์์ผ๋ก ๊ฐ๊ฒฐํ๊ณ ๋น ๋ฅธ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ณ ์ ํ๋ ๊ฐ๋ฐ์๋ค์๊ฒ ์ ํฉํ ์ ํ์ง๊ฐ ๋ ์ ์์ต๋๋ค. 5. Chrome์ด WebGPU๋ฅผ ์ถ์ํฉ๋๋ค. ๋งํฌ: https://developer.chrome.com/blog/webgpu-release Chrome ๋ธ๋ผ์ฐ์ ๊ฐ WebGPU๋ฅผ ์ถ์ํ๋ค๋ ์์์ ๋๋ค. WebGPU๋ WebGL์ ํ์ ๊ธฐ์ ๋ก, ๋ธ๋ผ์ฐ์ ์์ 3D ๊ทธ๋ํฝ๊ณผ ๋จธ์ ๋ฌ๋๊ณผ ๊ฐ์ ๊ณ ์ฑ๋ฅ ์์ ์ ์ง์ํ๋ ์๋ก์ด ๊ทธ๋ํฝ์ค API์ ๋๋ค. WebGPU์ ๋์ ์ ์น์์ ๋์ฑ ํฅ์๋ 3D ๊ทธ๋ํฝ ๊ธฐ๋ฅ๊ณผ ๋จธ์ ๋ฌ๋์ ์ ๊ณตํ ์ ์๊ฒ ํด์ค ๊ฒ์ผ๋ก ๊ธฐ๋๋ฉ๋๋ค. ๊ฐ๋ฐ์๋ค์ ์ด๋ฅผ ํตํด ์น ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋์ฑ ๊ฐ๋ ฅํ๊ณ ๋ค์ํ ๊ทธ๋ํฝ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์๊ฒ ๋ ๊ฒ ๊ฐ์ต๋๋ค.