# [[Next.js|Next.js]] ## πŸ“Œ Brief Summary Next.jsλŠ” React 기반의 μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ κ°œλ°œμ„ μœ„ν•œ ν”„λ ˆμž„μ›Œν¬λ‘œ, ν΄λΌμ΄μ–ΈνŠΈ μ‚¬μ΄λ“œ λ Œλ”λ§(CSR), μ„œλ²„ μ‚¬μ΄λ“œ λ Œλ”λ§(SSR), 정적 μ‚¬μ΄νŠΈ 생성(SSG), 점진적 정적 μž¬μƒμ„±(ISR) λ“± λ‹€μ–‘ν•œ λ Œλ”λ§ μ „λž΅μ„ νŽ˜μ΄μ§€λ³„λ‘œ μœ μ—°ν•˜κ²Œ ν˜Όν•©ν•˜μ—¬ μ‚¬μš©ν•  수 μžˆλ„λ‘ μ§€μ›ν•©λ‹ˆλ‹€ [1, 2]. 특히 App Routerλ₯Ό ν†΅ν•œ React μ„œλ²„ μ»΄ν¬λ„ŒνŠΈ(RSC)λ₯Ό 기본적으둜 μ§€μ›ν•˜μ—¬ μžλ°”μŠ€ν¬λ¦½νŠΈ λ²ˆλ“€ 크기λ₯Ό 쀄이고 λ Œλ”λ§ μ„±λŠ₯을 μ΅œμ ν™”ν•˜λŠ” 데 νŠΉν™”λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€ [3-5]. λ”λΆˆμ–΄ 이미지 μ΅œμ ν™”, 슀트리밍, 선택적 ν•˜μ΄λ“œλ ˆμ΄μ…˜(selective [[Hydration|Hydration]]) λ“± μ›Ή μ„±λŠ₯을 κ·ΉλŒ€ν™”ν•  수 μžˆλŠ” κ°•λ ₯ν•œ κΈ°λŠ₯듀을 λ‚΄μž₯ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€ [6-8]. ## πŸ“– Core Content * **λ‹€μ–‘ν•œ λ Œλ”λ§ μ „λž΅ 지원 (Hybrid Rendering):** Next.jsλŠ” 단일 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ‚΄μ—μ„œ μš”κ΅¬μ‚¬ν•­μ— 맞좰 CSR, SSR, SSG, ISR을 νŽ˜μ΄μ§€λ³„λ‘œ ν˜Όν•©ν•˜μ—¬ μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [1, 2]. 예λ₯Ό λ“€μ–΄, λ§ˆμΌ€νŒ… νŽ˜μ΄μ§€μ—λŠ” SSGλ₯Ό, μ œν’ˆ λͺ©λ‘μ—λŠ” SSR을, μ‚¬μš©μž λŒ€μ‹œλ³΄λ“œμ—λŠ” CSR을 μ‚¬μš©ν•˜λŠ” μ‹μž…λ‹ˆλ‹€ [1, 9]. 특히 ISR(Incremental Static Regeneration)을 ν™œμš©ν•˜λ©΄ 전체 μ‚¬μ΄νŠΈλ₯Ό λ‹€μ‹œ λΉŒλ“œν•˜μ§€ μ•Šκ³ λ„ μ§€μ •λœ 주기에 맞좰 λ°±κ·ΈλΌμš΄λ“œμ—μ„œ κ°œλ³„ 정적 νŽ˜μ΄μ§€λ₯Ό μ—…λ°μ΄νŠΈν•  수 μžˆμ–΄, λΉ λ₯Έ λ‘œλ”© 속도와 데이터 μ΅œμ‹ ν™”λ₯Ό λ™μ‹œμ— 달성할 수 μžˆμŠ΅λ‹ˆλ‹€ [10-12]. * **React μ„œλ²„ μ»΄ν¬λ„ŒνŠΈ(RSC) 및 App Router ν™˜κ²½:** Next.js 13 μ΄μƒμ—μ„œ λ„μž…λœ App Router λͺ¨λΈμ—μ„œλŠ” νŽ˜μ΄μ§€μ™€ λ ˆμ΄μ•„μ›ƒμ΄ 기본적으둜 μ„œλ²„ μ»΄ν¬λ„ŒνŠΈλ‘œ λ™μž‘ν•©λ‹ˆλ‹€ [4, 5]. 이둜 인해 λΈŒλΌμš°μ €λ‘œ μ „μ†‘λ˜λŠ” μžλ°”μŠ€ν¬λ¦½νŠΈ νŽ˜μ΄λ‘œλ“œλ₯Ό μ œκ±°ν•  수 있으며, μ„œλ²„ ν™˜κ²½μ—μ„œ λ°μ΄ν„°λ² μ΄μŠ€λ‚˜ 파일 μ‹œμŠ€ν…œμ— 직접 μ ‘κ·Όν•΄ 데이터λ₯Ό νŽ˜μΉ­ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [4, 13, 14]. μƒν˜Έμž‘μš©(예: λ²„νŠΌ 클릭, μƒνƒœ 관리 λ“±)이 ν•„μš”ν•œ μš”μ†Œμ— ν•œν•΄μ„œλ§Œ 파일 상단에 `"use client"` μ§€μ‹œμ–΄λ₯Ό λͺ…μ‹œν•΄ ν΄λΌμ΄μ–ΈνŠΈ μ»΄ν¬λ„ŒνŠΈλ‘œ μ „ν™˜ν•©λ‹ˆλ‹€ [4, 15, 16]. * **μ„±λŠ₯ μ΅œμ ν™” 및 [[React Compiler|React Compiler]] 지원:** ν”„λ ˆμž„μ›Œν¬ λ‚΄μž₯ μ»΄ν¬λ„ŒνŠΈμΈ `next/image`λŠ” μ΅œμ‹  이미지 포맷 λ³€ν™˜, λ°˜μ‘ν˜• 크기 쑰절, μ§€μ—° λ‘œλ”©μ„ μžλ™μœΌλ‘œ μ²˜λ¦¬ν•˜μ—¬ μ΅œλŒ€ μ½˜ν…μΈ  ν’€ 페인트(LCP) μ§€ν‘œλ₯Ό 크게 κ°œμ„ ν•©λ‹ˆλ‹€ [6]. λ˜ν•œ `next/dynamic`을 μ‚¬μš©ν•΄ 화면에 λ‹Ήμž₯ 보이지 μ•ŠλŠ” μ»΄ν¬λ„ŒνŠΈμ˜ ν•˜μ΄λ“œλ ˆμ΄μ…˜μ„ μ§€μ—°μ‹œν‚€λŠ” 선택적 ν•˜μ΄λ“œλ ˆμ΄μ…˜μ„ κ΅¬ν˜„ν•΄ 초기 λ‘œλ”© λΆ€λ‹΄(TBT)을 쀄일 수 μžˆμŠ΅λ‹ˆλ‹€ [7]. μ„±λŠ₯ μ΅œμ ν™”μ™€ κ΄€λ ¨ν•΄, [[Next.js 15|Next.js 15]].3.1 이상 및 16 λ²„μ „λΆ€ν„°λŠ” μˆ˜λ™ λ©”λͺ¨μ΄μ œμ΄μ…˜ 없이도 λ Œλ”λ§μ„ μžλ™ μ΅œμ ν™”ν•΄μ£ΌλŠ” SWC 기반의 React Compilerλ₯Ό μ„€μ • νŒŒμΌμ΄λ‚˜ μ§€μ‹œμ–΄λ₯Ό 톡해 직접 μ§€μ›ν•©λ‹ˆλ‹€ [17, 18]. * **슀트리밍(Streaming) 및 Suspense 톡합:** Next.jsλŠ” React의 Suspense API와 κ²°ν•©ν•˜μ—¬ μ„œλ²„μ—μ„œ HTML을 μ μ§„μ μœΌλ‘œ μŠ€νŠΈλ¦¬λ°ν•˜λŠ” κΈ°λŠ₯을 μ§€μ›ν•©λ‹ˆλ‹€ [8]. 이λ₯Ό 톡해 데이터 페칭 λ“± 무거운 μž‘μ—…μ΄ μ§„ν–‰λ˜λŠ” λ™μ•ˆ λ‘œλ”© μƒνƒœ(fallback)λ₯Ό λΈŒλΌμš°μ €μ— λ¨Όμ € 보여주고, μ™„λ£Œλœ 쑰각(chunk)λΆ€ν„° 화면에 μ¦‰μ‹œ λ Œλ”λ§ν•¨μœΌλ‘œμ¨ μ‚¬μš©μžκ°€ λŠλΌλŠ” 체감 λŒ€κΈ° μ‹œκ°„μ„ λŒ€ν­ 쀄일 수 μžˆμŠ΅λ‹ˆλ‹€ [19, 20]. ## πŸ”— Knowledge Connections - **Related Topics:** `[[React Server Components|React Server Components]]`, `Server-Side Rendering (SSR)`, `Incremental Static Regeneration (ISR)`, `Hydration`, `[[React Compiler|React Compiler]]` - **Projects/Contexts:** `App Router`, `React Suspense`, `next/image`, `next/dynamic` - **Contradictions/Notes:** μ†ŒμŠ€μ— κ΄€λ ¨ 정보가 λΆ€μ‘±ν•©λ‹ˆλ‹€. --- *Last updated: 2026-04-25*