10,000 Hour Rule

๊พธ์ค€ํžˆ, ์ฒœ์ฒœํžˆ ๊ธฐ๋กํ•˜์ž

Next.JS

[Next.js] Next.js๋ž€?

Dochi.Dev 2021. 9. 20. 00:20

๐Ÿš€ Next.js

Next.js๋Š” Vercel์—์„œ ์ œ๊ณตํ•˜๋Š” React Framework์ด๋‹ค.

Next.js๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•œ๋‹ค.

  1. hybird static & server rendering
  2. TypeScript Support
  3. smart bundling
  4. route pre-fetching
  5. No config needed

ํ˜„์žฌ Next.js๋Š” ๋งŽ์€ ๊ธฐ์—…๋“ค์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. ๋‹ค์Œ ๋งํฌ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

https://nextjs.org/showcase#all

 

Showcase | Next.js

Meet hundreds of beautiful websites powered by Next.js by Vercel

nextjs.org

 

๊ณต์‹ ๋ฌธ์„œ ํŽ˜์ด์ง€์— ์žˆ๋Š” ๋‚ด์šฉ๋“ค์„ ์ •๋ฆฌํ•ด๋ณด์ž๋ฉด,

 

Hybrid: SSG and SSR

NextJS๋Š” React์˜ ํŠน์ง•์ธ CSR ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ SSG, SSR๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

SPA์˜ ํฐ ๋‹จ์  ์ค‘ ํ•˜๋‚˜๋Š” ์ฒซ ํŽ˜์ด์ง€์— ๋นˆ ํ™”๋ฉด์„ ๋จผ์ € ๋ฐ›๊ณ , JSํŒŒ์ผ(bundle.js)์„ ํ•ด์„ํ•˜์—ฌ ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์—

์ด JSํŒŒ์ผ์ด ํฌ๋ฉด ํด ์ˆ˜๋ก ๋กœ๋”ฉ์†๋„๊ฐ€ ๊ธธ์–ด์ง„๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค. ๋˜ํ•œ JSํŒŒ์ผ์„ ํ•ด์„ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํด๋ผ์ด์–ธํŠธ์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์ด ๊ผญ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

React๋งŒ์œผ๋กœ๋„ SSR์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ธด ํ•œ๋ฐ ๋ณต์žกํ•˜๊ณ  ๊นŒ๋‹ค๋กญ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ NextJS๋Š” SSR์„ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— CSR๋ฐฉ์‹๊ณผ SSR๋ฐฉ์‹์„ ๋ณ‘ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค(CSR๋งŒ์œผ๋กœ ํ•˜๋Š”๊ฑด ๋ถˆ๊ฐ€๋Šฅ).

SSR์˜ ํŠน์ง•์ธ ์™„์„ฑ๋œ HTMLํŒŒ์ผ์„ ์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ๋กœ ๋‚ด๋ ค๋ฐ›๊ฒŒํ•˜์—ฌ ์ดˆ๊ธฐ ๋กœ๋”ฉ์†๋„๋ฅผ ์ค„์ด๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

Zero Config

์ž๋™ ์ปดํŒŒ์ผ๊ณผ ๋ฒˆ๋“ค๋ง์„ ์ œ๊ณตํ•œ๋‹ค.

File-system Routing

pages๋ผ๋Š” ํด๋”์•„๋ž˜์— ์žˆ๋Š” ๋ชจ๋“  ๊ตฌ์„ฑ์š”์†Œ๋Š” ๊ฒฝ๋กœ๊ฐ€ ๋œ๋‹ค.

pages ํด๋” ๋ฐ‘์—๋‹ค๊ฐ€ ๋‘๋ฉด ์•Œ์•„์„œ ๊ฒฝ๋กœ๊ฐ€ ๋˜๋Š”๊ฒŒ ์ •๋ง ํŽธํ•œ ๊ฒƒ ๊ฐ™๋‹ค.

TypeScript Support

ํƒ€์ž… ์Šคํฌ๋ฆฝํŠธ ๊ตฌ์„ฑ ๋ฐ ์ปดํŒŒ์ผ์„ ์ง€์›ํ•œ๋‹ค.

Code-splitting and Bundling

์ดˆ๊ธฐ ํŽ˜์ด์ง€ ๋กœ๋“œ ์‹œ ํ•„์š”ํ•œ ์ฝ”๋“œ๋ฅผ Chunks๋กœ ๋ถ„๋ฆฌํ•ด์„œ ๋กœ๋”ฉํ•œ๋‹ค.

์ „์ฒด ์ฝ”๋“œ์–‘์„ ์ค„์ด์ง€๋Š” ์•Š์ง€๋งŒ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ๋ฅผ ๋กœ๋“œํ•˜๋Š” ๊ฒƒ์„ ํ”ผํ•˜๊ณ 

ํ•„์š”๋กœ ํ•˜๋Š” ์ฝ”๋“œ๋งŒ ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

 

์ด ์™ธ์—๋„

 

Image Optimization

Internationalization

Next.js Analytics

Incremental Static Regeneration

Fast Refresh

API Routes Built-in CSS Support

 

๋“ฑ์˜ ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•œ๋‹ค.

๋‚˜๋จธ์ง€ ๊ธฐ๋Šฅ๋“ค์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์ฐจ์ฐจ ์ •๋ฆฌํ•  ๊ณ„ํš์ด๋‹ค.