React vs Next.js
Last updated
Last updated
react์ next.js ๋ชจ๋ ๋ด๊ฐ ํ๋ก์ ํธ์์ ์ฌ์ฉํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ/ํ๋ ์์ํฌ ์ด๋ค.
๋ฌธ๋ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉฐ ์ด๋ค ํ๋ก์ ํธ๋ฅผ ์งํํ ๋ ์ด๋ค๊ฒ์ด ๋ ์๋ง์๊ฐ? ๋ผ๋ ์๊ฐ์ด ๋ค์๋ค. ์ค์ ๋ก ๋ณ ์๊ฐ ์์ด next.js ๋ฅผ ์ฌ์ฉํ๋ ๋ด ๋ชจ์ต์ ๋ณด๊ณ "์ ์ฌ์ฉํ๋๊ฐ?" ์ ๋ํ ์๋ฌธ์ ์ด ํฌ์คํ ์ ์์ฑํ๋ฉด์ ํด๊ฒฐํด ๋ณด๋ ค๊ณ ํ๋ค.
๋จผ์ react๋ facebook ์์ ๊ฐ๋ฐํ SPA ์น ์ดํ๋ฆฌ์ผ์ด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.
์์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ผ๊ณ ์๊ฐํ๊ณ ์๋๋ฐ, ์ค์ ๋ก react๋ฅผ ์ฌ์ฉํด ๋ณด๋ฉด /src ๋ด๋ถ
์์ ์์ค ์ฝ๋๋ฅผ ์์ฑํ๋ค๋ ๊ฒ ์ด์ธ์๋ ํ๋๋ถํฐ ์ด๊น์ง ๋ชจ๋ ๊ฐ๋ฐ์๊ฐ ์ค์ค๋ก ํ๊ฒฝ์ ๋ง๋ค์ด ์ดํ๋ฆฌ์ผ์ด์
์ ๊ตฌ์ฑ ํด์ผ ํ๋ค.
๋ํ CSR ๋ฐฉ์์ผ๋ก ์ ์ฒด ํ์ด์ง ๋ ๋๋ง์ ํ์ํ ๋ฆฌ์์ค ๋ค์ ์๋ฒ์์ ๋ฐ์์ ํด๋ผ์ด์ธํธ ์ธก์์ ๋ ๋๋ง์ ์ํํ๋ค. ๋ฐ๋ผ์ ํ์ด์ง ๊ฐ ์ ํ์ด ๋งค์ฐ ๋ถ๋๋ฌ์์ง์ง๋ง, ์ด๊ธฐ์ ๋ชจ๋ ๋ฆฌ์์ค๋ฅผ ๋ฐ์์์ผ ํ๊ธฐ ๋๋ฌธ์ ์ด๊ธฐ ํ์ด์ง ๋ก๋ฉ์ด ๋๋ฆฌ๋ค๋ ๋จ์ ์ด ์๋ค. ์ถ๊ฐ์ ์ผ๋ก ์๋ฒ์์ ๋น HTML์ ๋ฐ์์ ํด๋ผ์ด์ธํธ์์ ๋ ๋๋ง์ ์งํํ๊ธฐ ๋๋ฌธ์, ๊ฒ์์์ง์์ ํฌ๋กค๋ง์ด ์ด๋ ค์ SEO ๊ฐ ์ด๋ ต๋ค.
์ด์ ๋ฐํด next.js ๋ react๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ํ๋ ์์ํฌ๋ค. ๋ฐ๋ผ์ ๋ผ์ฐํ
ํ์ผ์ ํด๋ ์ด๋ฆ์ผ๋ก, ๋์ ๋ผ์ฐํ
์ []
๋ฅผ ์ฌ์ฉํด๋ผ ๋ฑ์ ์ฌ๋ฌ ๊ท์น๋ค์ ์งํค๋ฉฐ ๊ฐ๋ฐ์ ํด์ผ ํ๋ค. ๋ฐ๋ผ์ ๊ฐ๋ฐ์ ๋ง๋ค ๋ค๋ฅธ ์ฝ๋ ์ปจ๋ฒค์
์ ๊ฐ์ง react์ ๋ฌ๋ฆฌ ์ด๋ ์ ๋ ์ผ์ ํ ๊ท์น์ ๊ฐ์ง๊ธฐ ๋๋ฌธ์ ์ฝ๋ ์ ์ง ๋ณด์ / ๊ฐ๋ฐ ์ธก๋ฉด์ ์กฐ๊ธ ๋ ์ฉ์ดํ๋ค๋ ์ฅ์ ์ด ์๋ค.
๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ธ SSR ๋ฐฉ์์ผ๋ก ๋ ๋๋ง์ ์ํํ๋ค. ํด๋ผ์ด์ธํธ ์ธก์ด ์๋ ์๋ฒ ์ธก์์ ํ์ด์ง๋ฅผ ๋ ๋๋ง ํ ํ ํด๋ผ์ด์ธํธ๋ก ์์ฑ๋ ํ์ด์ง๋ฅผ ๋ณด๋ด๊ธฐ ๋๋ฌธ์ CSR ๋ฐฉ์๋ณด๋ค ํ๋ฉด ์ ํ์ ๋ถ๋๋ฝ์ง ์์๋ ์ด๊ธฐ ํ์ด์ง ๋ ๋๋ง์ด ๋น ๋ฅด๊ณ , SEO ์ธก๋ฉด์์ ์ ๋ฆฌํ๋ค.
๊ทธ๋ผ ์์์ ์ดํด๋ณธ ๊ฐ tool์ ์ฅ๋จ์ ์ ๊ณ ๋ คํด, ์ธ์ ์ด๋ค ๊ฒ์ ์ฌ์ฉํด์ผ ํ๋์ง ํ๋ฒ ์๊ฐํด๋ณด์.
์ฐ์ react์ ์ฅ์ ์ ์ ์ฐํ ์ดํ๋ฆฌ์ผ์ด์ ํ๊ฒฝ ๊ตฌ์ฑ๊ณผ, ์์ฒญ๋๊ฒ ๋ง์ reference์์ ๋์จ๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๊ธฐ ๋๋ฌธ์ ํ๋ก์ ํธ์์ ํ์๋ก ํ๋ ๊ธฐ๋ฅ์ ๋ง์ถ์ด ๊ฐ๋ฐ์ด ๊ฐ๋ฅํ๋ค. ํ์ง๋ง ๋ฐ๋๋ก ๋ง์ ๊ธฐ๋ฅ์ ์ํ๋ ํ๋ก์ ํธ๋ผ๋ฉด ๊ทธ๋งํผ ๋ง์ ์์กด์ฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด ์ถ๊ฐ๋์ด ์คํ๋ ค ์ดํ๋ฆฌ์ผ์ด์ ์์ฒด๊ฐ ๋งค์ฐ ๋ฌด๊ฑฐ์์ง ์๋ ์๋ค.
๋ฐ๋ผ์ ํ์ํ ํ๋ก์ ํธ ๊ท๋ชจ๊ฐ ํฌ์ง ์์ ํ์ํ ์์กด์ฑ์ด ์ ๊ณ , ๊ฐ๋ฐ์ ๋ณธ์ธ์ด ์ํ๋ ๋๋ก ํ๊ฒฝ์ ๊ตฌ์ฑํ๊ณ ์ถ์ ๊ฒฝ์ฐ (๋๋ ํ์ฌ ๋ฑ์์ ์ด๋ฏธ ๊ท๊ฒฉํ ๋ ์ปจ๋ฒค์ ์ด ์กด์ฌํ ๊ฒฝ์ฐ) react๊ฐ ๋ ์ ํฉํด ๋ณด์ธ๋ค.
next.js ์ ์ฅ์ ์ SSR์ง์, SEO์ ์ ํฉํ๋ฉฐ ํด๋ผ์ด์ธํธ์ ์๋ฒ์์ ์ฌ์ฉํ๋ ์ฝ๋๋ฅผ ๋ชจ๋ ์์ฑ ํ ์ ์์ด ์๋ฒ๋ฅผ ๋ณด๋ค ๊ฒฝ๋ํ ์ํฌ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ react ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐ๋ ํ๋ ์ ์ํฌ๊ธฐ ๋๋ฌธ์, react์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋๋ค์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ next.js์์๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋ ์์ํฌ์ด๊ธฐ ๋๋ฌธ์ ๋ณ๋ค๋ฅธ ์ปจ๋ฒค์ ์ ์ ํ ํ์ ์์ด ์ดํ๋ฆฌ์ผ์ด์ ์ด ์๊ตฌํ๋๋๋ก ์์ค์ฝ๋๋ฅผ ์์ฑํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ๊ท๋ชจ๊ฐ ํฐ ํ๋ก์ ํธ์ ์ ํฉํ๋ค.
๋ฐ๋ผ์ ์ด๋ฏธ react ์ ์ต์ํ๋ฉฐ, ๊ท๋ชจ๊ฐ ์ปค ๊ธฐ๋ฅ์ ์ผ๋ก ์ถ๊ฐ๋ ์์๊ฐ ๋ง๊ฑฐ๋ SSR์ ํตํ์ฌ ์ฑ๋ฅ์ ๊ฐ์ ์ํฌ ์ฌ์ง๊ฐ ์๋ ํ๋ก์ ํธ์๋ next.js๊ฐ ์ ํฉํ ๊ฒ ๊ฐ๋ค.