Skip to content

๐Ÿ’ปNext.js 15๋ฅผ ์„ ํƒํ•œ ์ด์œ 

๋…ธํ˜„์ง„ edited this page Oct 28, 2024 · 4 revisions

๊ฐœ์š”

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ Next.js 15์„ ์„ ํƒํ•œ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.


Next.js๋ž€?

Next.js๋ž€ ํ’€์Šคํƒ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์ถ•์„ ์œ„ํ•œ React ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. Next.js๋Š” ๋ฒˆ๋“ค๋ง, ์ปดํŒŒ์ผ๋ง ๋“ฑ React์— ํ•„์š”ํ•œ ๋„๊ตฌ๋ฅผ ์ถ”์ƒํ™”ํ•˜๊ณ  ์ž๋™์œผ๋กœ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์ •์— ๋“ค์ด๋Š” ์‹œ๊ฐ„์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(Server-Side Rendering, SSR)๊ณผ ์ •์  ์‚ฌ์ดํŠธ ์ƒ์„ฑ(Static Site Generation, SSG) ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•จ์œผ๋กœ์จ ๋” ๋‚˜์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜๊ณผ ๊ฐœ๋ฐœ์ž ํŽธ์˜์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.


Next.js์˜ ์žฅ์ 

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์˜ ๋ฏธ๋“ค์›จ์–ด ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์š”์ฒญ์ด ์™„๋ฃŒ๋˜๊ธฐ ์ „์— ์„œ๋ฒ„์—์„œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ, ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€์— ์ ‘๊ทผํ•  ๋•Œ ๋ฏธ๋“ค์›จ์–ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธํ•จ์œผ๋กœ์จ ๋ถˆํ•„์š”ํ•œ ํ™”๋ฉด ๊นœ๋นก์ž„ ํ˜„์ƒ์„ ์—†์•จ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


Next.js 14 ๋ฒ„์ „ ๋Œ€์‹  Next.js 15 ๋ฒ„์ „์„ ์„ ํƒํ•œ ์ด์œ 

ํ•œ๊ตญ ์‹œ๊ฐ„ ๊ธฐ์ค€ 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 ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ถˆํ•„์š”ํ•œ ์บ์‹œ ์ฒ˜๋ฆฌ๋กœ๋ถ€ํ„ฐ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋Š” ์˜ค๋ฅ˜ ๋ฐœ์ƒ์ด ๊ฐ์†Œํ•  ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.


์ฐธ๊ณ  ์ž๋ฃŒ

MafiaCamp

๐Ÿ“”์†Œ๊ฐœ
๐ŸŽฏํ”„๋กœ์ ํŠธ ๊ทœ์น™
๐Ÿ’ปํ”„๋กœ์ ํŠธ ๊ธฐํš
๐Ÿ€๊ธฐ์ˆ  ์Šคํƒ
๐Ÿ“‹Backlog
  • ๐Ÿ“•1์ฃผ์ฐจ
  • ๐Ÿ“˜2์ฃผ์ฐจ
  • 3์ฃผ์ฐจ
  • 4์ฃผ์ฐจ
  • 5์ฃผ์ฐจ
  • 6์ฃผ์ฐจ
๐Ÿ‘‹๋ฐ์ผ๋ฆฌ ์Šคํฌ๋Ÿผ
  • ๐Ÿ“•1์ฃผ์ฐจ
  • ๐Ÿ“˜2์ฃผ์ฐจ
  • 3์ฃผ์ฐจ
  • 4์ฃผ์ฐจ
  • 5์ฃผ์ฐจ
  • 6์ฃผ์ฐจ
๐Ÿ“˜๊ฐœ์ธ ํšŒ๊ณ 
  • ๐Ÿ“•1์ฃผ์ฐจ
  • ๐Ÿ“˜2์ฃผ์ฐจ
  • 3์ฃผ์ฐจ
  • 4์ฃผ์ฐจ
  • 5์ฃผ์ฐจ
  • 6์ฃผ์ฐจ
๐Ÿ“š๊ทธ๋ฃน ํšŒ๊ณ 
โœ’๏ธ๋ฉ˜ํ† ๋ง ์ผ์ง€
๐ŸŒˆ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ณผ์ •
โš ๏ธํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…
Clone this wiki locally