NEXT.JS๋ ๋ฌด์์ผ๊น?
Next.js ๋ ๋น ๋ฅธ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๊ธฐ ์ํ ๋น๋ฉ ๋ธ๋ก์ ์ ๊ณตํ๋ React ํ๋ ์ ์ํฌ๋ก, React์ ํ์ํ ๋๊ตฌ ๋ฐ ๊ตฌ์ฑ์ ์ฒ๋ฆฌํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์ถ๊ฐ ๊ตฌ์กฐ, ๊ธฐ๋ฅ ๋ฐ ์ต์ ํ๋ฅผ ์ ๊ณตํ๋ค.
Next.js๋ SSR(Server-Side-Rendering), ์ ์ ์น ํ์ด์ง ์์ฑ ๋ฑ React ๊ธฐ๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ฅ๋ค์ ๊ฐ๋ฅํ๊ฒ ํ๋ Node.js ์์์ ๋น๋๋ ์คํ ์์ค ์น ํ๋ ์์ํฌ์ด๋ค.
React๋ฅผ ์ฌ์ฉํ์ฌ UI๋ฅผ ๊ตฌ์ถํ ๋ค์, Next.js ๊ธฐ๋ฅ์ ์ ์ง์ ์ผ๋ก ์ฑํํ์ฌ ๋ผ์ฐํ , ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ, ํตํฉ๊ณผ ๊ฐ์ ์ผ๋ฐ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์๊ตฌ ์ฌํญ์ ํด๊ฒฐํ๋ ๋์์ ๊ฐ๋ฐ์ ๋ฐ ์ต์ข ์ฌ์ฉ์ ๊ฒฝํ์ ๊ฐ์ ํ ์ ์๋ค.
React์ ๊ณต์ ํ์ด์ง์์๋ ์๋์ ๊ฐ์ด ์๊ฐํ๋ค.
Next.js
Next.js๋ ์ธ๊ธฐ ์๋ ๊ฒฝ๋์ ํ๋ ์์ํฌ๋ก React๋ก ๋ง๋ค์ด์ง ์คํํฑ ์๋ฒ ๋ ๋๋ง ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์คํ์ผ๋ง๊ณผ ๋ผ์ฐํ ํด๊ฒฐ์ฑ ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ์ฌ์ฉ์๊ฐ Node.js๋ฅผ ์๋ฒ ํ๊ฒฝ์ผ๋ก ์ฌ์ฉํ๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
Next.js๋ฅผ ์ ์ ๊ฐ์ด๋๋ฅผ ๋ณด๋ฉด์ ๋ฐฐ์๋ณด์ธ์.
NEXT์ ์น ์ ํ๋ฆฌ์ผ์ด์ ๋น๋ฉ ๋ธ๋ก
- UI (์ฌ์ฉ์ ์ธํฐํ์ด์ค) - ์ฌ์ฉ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ๊ณ ์ํธ ์์ฉํ๋ ๋ฐฉ๋ฒ.
- Routing (๋ผ์ฐํ ) - ์ฌ์ฉ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค๋ฅธ ๋ถ๋ถ ์ฌ์ด๋ฅผ ํ์ํ๋ ๋ฐฉ๋ฒ.
- Data Fetching (๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ) - ๋ฐ์ดํฐ๊ฐ ์๋ ์์น์ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ.
- Rendering (๋ ๋๋ง) - ์ ์ ๋๋ ๋์ ์ฝํ ์ธ ๋ฅผ ๋ ๋๋งํ๋ ์๊ธฐ ๋ฐ ์์น.
- Integrations (ํตํฉ) - ์ฌ์ฉํ๋ ํ์ฌ ์๋น์ค(CMS, ์ธ์ฆ, ๊ฒฐ์ ๋ฑ) ๋ฐ ์ฐ๊ฒฐ ๋ฐฉ๋ฒ.
- Infrastructure (์ธํ๋ผ) - ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋(์๋ฒ๋ฆฌ์ค, CDN, Edge ๋ฑ)๋ฅผ ๋ฐฐํฌ, ์ ์ฅ ๋ฐ ์คํ.
- Performance (์ฑ๋ฅ) - ์ต์ข ์ฌ์ฉ์๋ฅผ ์ํด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ต์ ํํ๋ ๋ฐฉ๋ฒ.
- Scalability (ํ์ฅ์ฑ) - ํ, ๋ฐ์ดํฐ ๋ฐ ํธ๋ํฝ์ด ์ฆ๊ฐํจ์ ๋ฐ๋ผ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์กฐ์ ๋๋ ๋ฐฉ์.
- Developer Experience (๊ฐ๋ฐ์ ๊ฒฝํ) - ํ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ ๋ฐ ์ ์ง ๊ด๋ฆฌ ๊ฒฝํ.
Next.js ์๋ ๋ฐฉ์
Compiling
Minifying
์ฃผ์, ๊ณต๋ฐฑ, ๋ค์ฌ์ฐ๊ธฐ ๋ฐ ์ฌ๋ฌ ์ค๊ณผ ๊ฐ์ด ์ฝ๋๋ฅผ ์คํํ๋๋ฐ ํ์ํ์ง ์์ ์ถ๊ฐ ์ ๋ณด๋ฅผ ์ ๊ฑฐ ํ๋ ํ๋ก์ธ์ค๋ก ํ์ผ ํฌ๊ธฐ๋ฅผ ์ค์ฌ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ฑ๋ฅ์ ํฅ์์ํค๋ ๊ฒ์ด ๋ชฉํ์ด๋ค.
Bundling
๋ชจ๋, ๊ตฌ์ฑ ์์ ๋ฐ ๊ธฐ๋ฅ๊ณผ ๊ฐ์ ๋ด๋ถ ๋ชจ๋๊ณผ ์ธ๋ถ ํ์ฌ ํจํค์ง๋ฅผ ๋ด๋ณด๋ด๊ณ ๊ฐ์ ธ์ค๋ฉด ํ์ผ ์ข ์์ฑ์ด ๋ณต์กํ ์น์ด ์์ฑ ๋๋ฏ๋ก, ์ฌ์ฉ์๊ฐ ์น ํ์ด์ง๋ฅผ ๋ฐฉ๋ฌธํ ๋ ํ์ผ์ ๋ํ ์์ฒญ ์๋ฅผ ์ค์ด๋ ๊ฒ์ ๋ชฉํ๋ก ์น ์ข ์์ฑ์ ํด๊ฒฐํ๊ณ ํ์ผ(๋๋ ๋ชจ๋)์ ๋ธ๋ผ์ฐ์ ์ ์ต์ ํ๋ ๋ฒ๋ค๋ก ๋ณํฉ(๋๋ ํจํค์ง) ํ๋ ํ๋ก์ธ์ค์ด๋ค.
Code Splitting
Next.js์์๋ ํด๋น ํ์ด์ง๋ฅผ ์คํํ๋ ๋ฐ ํ์ํ ์ฝ๋๋ง ๋ก๋ํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด๊ธฐ ๋ก๋ ์๊ฐ ๊ฐ์ ๋ฑ์ ์ํด ๋๋ ํ ๋ฆฌ ๋ด์ 'page/' ์์ ์๋ ๊ฐ ํ์ผ๋ค์ ๋น๋ ๋จ๊ณ์์ ์์ฒด JS๋ฒ๋ค๋ก ์๋ ์ฝ๋ ๋ถํ ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ํ๋ค.
์ถ์ฒ)