undefined

Next.js 13 ๋ฒ„์ „์—์„œ ์ถ”๊ฐ€๋œ 4๊ฐ€์ง€ ๊ธฐ๋Šฅ

Next.js 13 ๋ฒ„์ „์—์„œ๋Š” App Directory๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์—์„œ pages ํด๋”์— ๋Œ€์‘๋˜๋Š” ๊ฒƒ์œผ๋กœ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•œ๋‹ค.

  • Layouts: state๋ฅผ ์œ ์ง€ํ•˜๊ณ  ๋น„์šฉ์ด ๋งŽ์ด ๋“œ๋Š” ๋ฆฌ๋ Œ๋”๋ง์„ ํ”ผํ•˜๋ฉด์„œ ๋ผ์šฐํŠธ ์‚ฌ์ด์— UI๋ฅผ ์‰ฝ๊ฒŒ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Œ.
  • Server Components: ์„œ๋ฒ„์—์„œ ๋ Œ๋”๋ง๋˜๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Œ.
  • Streaming: ์œ ์ €๋Š” ๋กœ๋”ฉ ์ƒํƒœ๋ฅผ ์ฆ‰์‹œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, UI๊ฐ€ ๋‹จ๊ณ„์ ์œผ๋กœ ๋ Œ๋”๋ง๋จ.

์›ํ•œ๋‹ค๋ฉด App Directory ๋‚ด์— ์ปดํฌ๋„ŒํŠธ ํŒŒ์ผ, ํ…Œ์ŠคํŠธ ํŒŒ์ผ, ์Šคํƒ€์ผ ํŒŒ์ผ ๋“ฑ ๋ผ์šฐํŠธ๊ฐ€ ์•„๋‹Œ ํŒŒ์ผ์ด ์กด์žฌํ•ด๋„ ๋œ๋‹ค.
์ด์ „ ๋ฒ„์ „์—์„œ pages ํด๋” ์•ˆ์—๋Š” ๋ฌด์กฐ๊ฑด NextPage Dynamic Routes๋งŒ ์กด์žฌํ•ด์•ผ ํ–ˆ๋˜ ๊ฒƒ๊ณผ ๋น„๊ต๋œ๋‹ค.

  • Support for Data Fetching: ๋น„๋™๊ธฐ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ง€์›ํ•˜๋ฉฐ, ํ™•์žฅ๋œ fetch API๋กœ ์ปดํฌ๋„ŒํŠธ ๋ ˆ๋ฒจ์—์„œ ๋ฐ์ดํ„ฐ ํŒจ์นญ์ด ๊ฐ€๋Šฅํ•จ.

Next.js 13 ๋ฒ„์ „์—์„œ๋Š” ๋”์šฑ ์œ ์—ฐํ•˜๊ณ  ํŽธ๋ฆฌํ•œ ๋ฐ์ดํ„ฐ ํŒจ์นญ ๋˜ํ•œ ์ง€์›ํ•œ๋‹ค.

 


Layouts

Layouts์€ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ๋ผ์šฐํŠธ ๊ฐ„์— UI๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.

Layout์€ ๋‹ค๋ฅธ Layout์œผ๋กœ ๊ฐ์Œ€ ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, Layout ๊ฐ„์— ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

์—ฌ๋Ÿฌ ํŽ˜์ด์ง€์— ๊ฑธ์ณ ๊ณต์œ ๋˜๋Š” UI๋ฅผ ๋ ˆ์ด์•„์›ƒ์œผ๋กœ ๊ตฌํ˜„ํ•œ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์ ์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

  • ์ƒํƒœ๊ฐ€ ์œ ์ง€๋˜๋ฏ€๋กœ ๋น„์šฉ์ด ๋งŽ์ด ๋“œ๋Š” ๋ฆฌ๋ Œ๋”๋ง์„ ํ”ผํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ผ๊ด€๋œ UI๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ฝ”๋“œ๋ฅผ ๋” ๊ตฌ์กฐ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

Layouts์œผ๋กœ Header, Footer, Nav ๋“ฑ์„ ๊ตฌํ˜„ํ•œ๋‹ค๋ฉด ์œ„ ๊ฐ™์€ ์ด์ ์„ ์ž˜ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

 

 

Server Components์™€ Client Components

Next.js 13 ๋ฒ„์ „์—์„œ ๋„์ž…๋œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฐœ๋…์ด์ž ๊ฐ€์žฅ ํฐ ๋ณ€ํ™”์ด๋‹ค.

- ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ: ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์™€ ๋ฏธ๋ฆฌ ๋ Œ๋”๋งํ•œ ํ›„ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ๋กœ ์ „๋‹ฌํ•ด์ค€๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ ๋‹จ์—์„œ ์ดˆ๊ธฐ ๋กœ๋”ฉ ์‹œ๊ฐ„์€ ์ค„์–ด๋“ค๊ณ , ๋ฒˆ๋“ค ์‚ฌ์ด์ฆˆ๋„ ๊ฐ์†Œํ•˜๊ฒŒ ๋œ๋‹ค. ๐Ÿ‘‰ ์ฃผ๋กœ ๋™์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ์‚ฌ์šฉ

- ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ: ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋นˆ ์ƒํƒœ๋งŒ ์ „๋‹ฌ๋ฐ›๋Š”๋‹ค. ์ด ๋•Œ๋Š” ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ์—์„œ api๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ํŒจ์นญํ•˜๊ณ  ์ด๋ฅผ ๋ Œ๋”๋งํ•œ๋‹ค. ๐Ÿ‘‰ ์ฃผ๋กœ ์ •์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ์‚ฌ์šฉ

Next.js๋Š” ์ด ๋‘ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ๋ถ„๋ฆฌํ•˜๊ณ  ์กฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์š”๊ตฌ์‚ฌํ•ญ์— ๋”ฐ๋ผ ๋™์ ์ธ ๋ฐ์ดํ„ฐ์™€ ์ •์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

 

 

Streaming

๊ธฐ์กด์—๋Š” ํŽ˜์ด์ง€์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ์ค€๋น„๋˜๊ธฐ ์ „๊นŒ์ง€ ๋ Œ๋”๋ง์ด ๋˜์ง€ ์•Š๋Š” ๋ฐฉ์‹์ด์—ˆ๋‹ค. ํ•˜์ง€๋งŒ Next.js 13 ๋ฒ„์ „์—์„œ๋Š” UI ๋‹จ์œ„๊ฐ€ ์ค€๋น„๋˜๋Š” ๋Œ€๋กœ ๋ Œ๋”๋ง๋œ๋‹ค. (Next.js๊ฐ€ ์•Œ์•„์„œ ํ•ด์ค€๋‹ค!)

Streaming ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

  • ์ดˆ๊ธฐ ํŽ˜์ด์ง€์˜ ๋กœ๋”ฉ ์ƒํƒœ๊ฐ€ ์ฆ‰์‹œ ํ‘œ์‹œ๋œ๋‹ค
  • ์„œ๋ฒ„์—์„œ ๋ Œ๋”๋ง๋œ UI๊ฐ€ ์ŠคํŠธ๋ฆฌ๋ฐ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž๋Š” ๋” ๋น ๋ฅด๊ฒŒ ์ดˆ๊ธฐ ์ปจํ…์ธ ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋‹จ๊ณ„์ ์œผ๋กœ ๋ Œ๋”๋ง๋˜๋Š” UI๋Š” ํŽ˜์ด์ง€์˜ ๋กœ๋”ฉ ์ƒํƒœ๋ฅผ ์œ ์ €์—๊ฒŒ ๋ช…ํ™•ํžˆ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋‹ค.

 

 

Support for Data Fetching

13 ๋ฒ„์ „์—์„œ ์ง€์›ํ•˜๋Š” fetch API๋Š”,

  • ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ์—์„œ๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค
  • ์ปดํฌ๋„ŒํŠธ ์ˆ˜์ค€์˜ ๋ฐ์ดํ„ฐ ํŒจ์นญ์„ ์ง€์›ํ•œ๋‹ค
  • ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ์—์„œ๋„ ๋น„๋™๊ธฐ ๋ฐ์ดํ„ฐ ํŒจ์นญ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

์ด๋ฅผ ํ†ตํ•ด ์ปดํฌ๋„ŒํŠธ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์˜์กด์„ฑ์„ ๋”์šฑ ์„ธ๋ฐ€ํ•˜๊ฒŒ ๊ด€๋ฆฌํ•˜๊ณ  ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋งŒ ํŒจ์นญํ•˜๋ฏ€๋กœ์จ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.

 


๋งˆ๋ฌด๋ฆฌ

Next.js 13 ๋ฒ„์ „์—์„œ ๊ฐ€์žฅ ํฅ๋ฏธ๋กœ์› ๋˜ ์ ์€, ํ•œ ํŽ˜์ด์ง€ ๋‚ด์—์„œ SSR์„ ํ• ์ง€, CSR์„ ํ•  ์ง€๋ฅผ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ปดํฌ๋„ŒํŠธ ๋‹จ์œ„๋กœ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด๋‹ค.

๋˜ํ•œ, Streaming ๊ธฐ๋Šฅ์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ํ•œ ๋‹จ๊ณ„ ๋„์•ฝํ•ด์ค„ ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€ํ•œ๋‹ค. Streaming ๊ธฐ๋Šฅ์ด ํšจ๊ณผ์ ์œผ๋กœ ๋™์ž‘ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Server Components๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ํ™œ์šฉํ•ด์•ผ ํ•  ๊ฒƒ์œผ๋กœ ์ถ”์ธก๋œ๋‹ค.

์œ„์— ์–ธ๊ธ‰ํ•œ ๋„ค ๊ฐ€์ง€ ๊ธฐ๋Šฅ ์™ธ์—๋„ ์—ฌ๋Ÿฌ ์„ฑ๋Šฅ ๊ฐœ์„ ์ด ์ด๋ฃจ์–ด์กŒ๋‹ค. next/image์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ, ํฐํŠธ ์ตœ์ ํ™”, ์ž๋™ ๋ฆฌ์†Œ์Šค ํ”„๋ฆฌํŒจ์น˜, Rust ๊ธฐ๋ฐ˜ ๋ฒˆ๋“ค๋Ÿฌ์ธ Turbopack ์— ๋Œ€ํ•ด ๋” ์•Œ์•„๋ณด๊ณ  ์‹ถ๋‹ค.