-
Notifications
You must be signed in to change notification settings - Fork 0
๐ปNext.js 15๋ฅผ ์ ํํ ์ด์
์ด๋ฒ ๊ธ์์๋ ์ด๋ฒ ํ๋ก์ ํธ์์ Next.js 15์ ์ ํํ ์ด์ ๋ฅผ ์ค๋ช ํ๋๋ก ํ๊ฒ ์ต๋๋ค.
Next.js
๋ ํ์คํ ์น ์ ํ๋ฆฌ์ผ์ด์
๊ตฌ์ถ์ ์ํ React ํ๋ ์์ํฌ์
๋๋ค. Next.js๋ ๋ฒ๋ค๋ง, ์ปดํ์ผ๋ง ๋ฑ React์ ํ์ํ ๋๊ตฌ๋ฅผ ์ถ์ํํ๊ณ ์๋์ผ๋ก ๊ตฌ์ฑํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ ํ๋ฆฌ์ผ์ด์
์ค์ ์ ๋ค์ด๋ ์๊ฐ์ ์ค์ผ ์ ์์ต๋๋ค. ๋ํ ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง(Server-Side Rendering, SSR)๊ณผ ์ ์ ์ฌ์ดํธ ์์ฑ(Static Site Generation, SSG) ๋ฑ์ ๊ธฐ๋ฅ์ ์ ๊ณตํจ์ผ๋ก์จ ๋ ๋์ ์ฌ์ฉ์ ๊ฒฝํ๊ณผ ๊ฐ๋ฐ์ ํธ์์ฑ์ ์ ๊ณตํฉ๋๋ค.
Next.js
์ ์ฅ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
-
์ฝ๋ ์คํ๋ฆฌํ (Code Splitting)
Next.js์์ ์ฌ์ฉํ๋ ์๋ฒ ์ปดํฌ๋ํธ๋ฅผ ํตํด ํ์ด์ง ๋จ์๋ก ์ฝ๋ ์คํ๋ฆฌํ ์ ์๋์ผ๋ก ์ํํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ถํ์ํ ์ฝ๋๊ฐ ๋ก๋ฉ๋์ง ์๋๋ก ํ์ฌ ๋ฒ๋ค ํฌ๊ธฐ๋ฅผ ์ค์์ผ๋ก์จ ์ด๊ธฐ ๋ก๋ฉ ์๋๋ฅผ ์ต์ ํํ์ฌ ์ฌ์ฉ์ ๊ฒฝํ์ ๊ฐ์ ํ ์ ์์ต๋๋ค.
-
ํด๋ ๊ธฐ๋ฐ ๋ผ์ฐํ
Next.js์ App Router๋ ํด๋ ๊ธฐ๋ฐ ๋ผ์ฐํ ์ ์ง์ํ๋ฏ๋ก React์์์ ๋ณต์กํ ๋ผ์ฐํ ์ค์ ์์ ์ด ๋ถํ์ํฉ๋๋ค.
-
๊ฒ์ ์์ง ์ต์ ํ(Search Engine Optimization, SEO)
Next.js๋ ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง(SSR)์ ์ง์ํ๋ฏ๋ก, ์๋ฒ์์ ๋ฏธ๋ฆฌ ๋ ๋๋ง๋ HTML์ ์์ฑํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ์ด๊ธฐ ๋ก๋ฉ ์๋๊ฐ ๋นจ๋ผ์ง๊ณ ๊ฒ์ ์์ง ์ต์ ํ(SEO)์๋ ์ ๋ฆฌํฉ๋๋ค.
-
์ด๋ฏธ์ง ์ต์ ํ
Next.js์์ ์ ๊ณตํ๋
next/image
์ปดํฌ๋ํธ๋ ์ด๋ฏธ์ง ์๋ ์ต์ ํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ํนํ, ๋ค์ํ ํด์๋์ ๋ง์ถฐ ์ด๋ฏธ์ง๊ฐ ๋ก๋๋๋๋ก ์ง์ํฉ๋๋ค. -
๋ฏธ๋ค์จ์ด
Next.js์ ๋ฏธ๋ค์จ์ด ๊ธฐ๋ฅ์ ํตํด ์์ฒญ์ด ์๋ฃ๋๊ธฐ ์ ์ ์๋ฒ์์ ์ฝ๋๋ฅผ ์คํํ ์ ์์ต๋๋ค. ํนํ, ๋ก๊ทธ์ธํ ์ฌ์ฉ์๋ง ์ ๊ทผํ ์ ์๋ ํ์ด์ง์ ์ ๊ทผํ ๋ ๋ฏธ๋ค์จ์ด๋ฅผ ํตํด ์ฌ์ฉ์ ๋ก๊ทธ์ธ ํ์ด์ง๋ก ๋ฆฌ๋ค์ด๋ ํธํจ์ผ๋ก์จ ๋ถํ์ํ ํ๋ฉด ๊น๋นก์ ํ์์ ์์จ ์ ์์ต๋๋ค.
ํ๊ตญ ์๊ฐ ๊ธฐ์ค 2024๋ 10์ 22์ผ์ Next.js 15 ๋ฒ์ ์ด ๋ฆด๋ฆฌ์ฆ๋์์ต๋๋ค. ์ด๋ฒ ํ๋ก์ ํธ์์๋ Next.js 14 ๋ฒ์ ๋์ Next.js 15 ๋ฒ์ ์ ์ ํํ๊ธฐ๋ก ๊ฒฐ์ ํ์์ต๋๋ค. ์ฌ์ค ์ถ์๋์ง ์ผ๋ง ์๋๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฅ 14 ๋ฒ์ ์ ์ฌ์ฉํ๋ ๊ฒ์ด ํ๋ก์ ํธ ์งํ์ ์์ด์ ์ข ๋ ์์ ํ ์ ์์ง๋ง, ๊ทธ๋ผ์๋ 15 ๋ฒ์ ์ ์ ํํ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Turbopack
Turbopack(๋ฒ ํ)์ JavaScript์ TypeScript์ ์ต์ ํ๋ ์ ์ง์ ๋ฒ๋ค๋ฌ๋ก, Rust๋ก ์์ฑ๋์์ผ๋ฉฐ Next.js์ ๋ด์ฅ๋์ด ์์ต๋๋ค. ์์ง ๋ฒ ํ ๋ฒ์ ์ด๊ธฐ ๋๋ฌธ์ build ์์๋ ์ฌ์ฉํ ์ ์๊ณ dev ๋ชจ๋
์์๋ง ์ฌ์ฉํ ์ ์์ง๋ง ๊ทธ๋ผ์๋ Turbopack์ ์ฌ์ฉํ ์ ์๋ค๋ ์ ์์ ํฌ๊ฒ ๊ด์ฌ์ด ์๊ฒผ์ต๋๋ค. Next.js 15 ๋ฒ์ ์์๋ Turbopack Dev
๊ฐ ์์ ํ๋์๋ค๊ณ ๋ฐํ๋์์ต๋๋ค. Turbopack์ Rust๋ก ์์ฑ๋์๊ธฐ ๋๋ฌธ์ ์นํฉ๋ณด๋ค 700๋ฐฐ ๋น ๋ฅด๊ณ , Vite๋ณด๋ค 10๋ฐฐ ๋น ๋ฅด๋ค๊ณ ์๋ ค์ ธ ์์ต๋๋ค. ์ด์ ๊ฐ์ ์ด์ ๋ก Turbopack๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐ ์๋ ํฅ์์ ๊ธฐ๋ํ๊ณ ์์ต๋๋ค.
-
์บ์ ์ ์ฑ ์ํ
์บ์๋ ์ฑ ์ต์ ํ์ ์์ด์ ์ค์ํ ์์์ด์ง๋ง Next.js 14 ๋ฒ์ ์์์ ๋จ์ ์ค ํ๋์ธ ๋๋ฌด ์๊ฒฉํ ์บ์ ์ ์ฑ ์ด ํฐ ๋ฌธ์ ๋ก ๋ค๊ฐ์์ต๋๋ค. Next.js 15 ๋ฒ์ ์์๋ 14 ๋ฒ์ ๊ณผ ๋ฌ๋ฆฌ fetch ์์ฒญ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์บ์ ์ฒ๋ฆฌ๋์ง ์๋๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. ๋ํ 14 ๋ฒ์ ์ ๋ถํธํ ์ ์ค ํ๋์๋ Client Router Cache ๊ฐ 15 ๋ฒ์ ๋ถํฐ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์บ์ ์ฒ๋ฆฌ๋์ง ์๋๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด์ ๊ฐ์ ๋ณ๊ฒฝ์ ์ ๊ณ ๋ คํ์ฌ 15 ๋ฒ์ ์ ์ฌ์ฉํ๋ฉด ๋ถํ์ํ ์บ์ ์ฒ๋ฆฌ๋ก๋ถํฐ ์๊ธธ ์ ์๋ ์ค๋ฅ ๋ฐ์์ด ๊ฐ์ํ ๊ฒ์ผ๋ก ๊ธฐ๋ํ๊ณ ์์ต๋๋ค.
web12-MafiaCamp
๐ฏํ๋ก์ ํธ ๊ท์น
๐ปํ๋ก์ ํธ ๊ธฐํ
๐๊ธฐ์ ์คํ
- ๐ป Next.js 15๋ฅผ ์ ํํ ์ด์
- ๐ NestJS๋ฅผ ์ ํํ ์ด์
- ๐ฅ๏ธ OpenVidu๋ฅผ ์ ํํ ์ด์
- ๐ TypeORM์ ์ ํํ ์ด์
- ๐ฌ ์ฑํ ๊ธฐ๋ฅ ๊ตฌํ์ ์ํด WebSocket์ ์ ํํ ์ด์
- ๐ WebRTC ๊ฐ๋ ์ ๋ฆฌ
- ๐พ WebRTC โ Nest.js์ React๋ก ํ๋ ๊ฐ๋จ ํ์์ฑํ ์์
- ๐ฅ๏ธ GitHub Actions๋ก CI/CD ๊ตฌ์ถ ๋ฐฉ๋ฒ
๐Backlog
- ๐1์ฃผ์ฐจ
- ๐2์ฃผ์ฐจ
- 3์ฃผ์ฐจ
- 4์ฃผ์ฐจ
- 5์ฃผ์ฐจ
- 6์ฃผ์ฐจ
๐๋ฐ์ผ๋ฆฌ ์คํฌ๋ผ
- ๐1์ฃผ์ฐจ
- ๐2์ฃผ์ฐจ
- 3์ฃผ์ฐจ
- 4์ฃผ์ฐจ
- 5์ฃผ์ฐจ
- 6์ฃผ์ฐจ
๐๊ฐ์ธ ํ๊ณ
- ๐1์ฃผ์ฐจ
- ๐2์ฃผ์ฐจ
- 3์ฃผ์ฐจ
- 4์ฃผ์ฐจ
- 5์ฃผ์ฐจ
- 6์ฃผ์ฐจ
๐๊ทธ๋ฃน ํ๊ณ
- ๐1์ฃผ์ฐจ ํ๊ณ
- ๐2์ฃผ์ฐจ
- 3์ฃผ์ฐจ
- 4์ฃผ์ฐจ
- 5์ฃผ์ฐจ
- 6์ฃผ์ฐจ
โ๏ธ๋ฉํ ๋ง ์ผ์ง
- ๐1์ฃผ์ฐจ
- ๐2์ฃผ์ฐจ
- 3์ฃผ์ฐจ
- 4์ฃผ์ฐจ
- 5์ฃผ์ฐจ
- 6์ฃผ์ฐจ