본문으로 건너뛰기
Kreath Archive
TechProjectsBooksAbout
TechProjectsBooksAbout

내비게이션

  • Tech
  • Projects
  • Books
  • About
  • Tags

카테고리

  • AI / ML
  • 웹 개발
  • 프로그래밍
  • 개발 도구

연결

  • GitHub
  • Email
  • RSS
© 2026 Kreath Archive. All rights reserved.Built with Next.js + MDX
홈TechProjectsBooksAbout
//
  1. 홈
  2. 테크
  3. 1장: Next.js 15의 등장과 App Router의 진화
2026년 1월 20일·웹 개발·

1장: Next.js 15의 등장과 App Router의 진화

Next.js 15부터 16까지의 진화를 조망합니다. App Router의 완성, 캐싱 전략 변화, Turbopack, Cache Components 등 핵심 변경사항을 개괄합니다.

10분377자7개 섹션
nextjsreacttypescriptfrontend
공유
nextjs-app-router1 / 13
12345678910111213
다음2장: App Router 아키텍처 - 레이아웃, 템플릿, 라우트 그룹

Next.js는 React 생태계에서 가장 널리 사용되는 풀스택 프레임워크입니다. 2024년 10월에 출시된 Next.js 15는 React 19 지원, 비동기 Request API, 캐싱 기본값 변경이라는 세 가지 대전환을 가져왔고, 2025년 10월에 출시된 Next.js 16은 Cache Components, Turbopack 기본 번들러 전환, proxy.ts라는 새로운 미들웨어 패러다임을 도입했습니다.

이 장에서는 Next.js 15부터 16.2까지의 진화를 한눈에 조망하고, 이 시리즈에서 다룰 내용을 개괄합니다.

Next.js의 진화 타임라인

버전출시일핵심 변화
Next.js 142023.10Server Actions 안정화, Partial Prerendering 프리뷰
Next.js 15.02024.10비동기 Request API, 캐싱 기본값 변경, Turbopack Dev 안정화
Next.js 15.12024.12React 19 안정 지원, after() API 안정화
Next.js 15.52025 중반Turbopack Builds 베타, Node.js Middleware 안정화, 타입 안전 라우트
Next.js 16.02025.10Cache Components, Turbopack 기본 번들러, proxy.ts, React 19.2
Next.js 16.12025.12Turbopack FS 캐싱 안정화
Next.js 16.22026.0387% 빠른 dev 시작, Build Adapters 안정화, View Transitions

Next.js 15의 핵심 변경사항

비동기 Request API (Breaking Change)

Next.js 15에서 가장 큰 변경은 cookies(), headers(), params, searchParams 등의 Request API가 비동기로 전환된 것입니다.

Next.js 14 → 15 변경
typescript
// Next.js 14: 동기
import { cookies } from 'next/headers';
function Page() {
  const cookieStore = cookies();
  const theme = cookieStore.get('theme');
}
 
// Next.js 15: 비동기 (await 필수)
import { cookies } from 'next/headers';
async function Page() {
  const cookieStore = await cookies();
  const theme = cookieStore.get('theme');
}

params와 searchParams도 마찬가지입니다.

params/searchParams 비동기 전환
typescript
// Next.js 14
function Page({ params }: { params: { id: string } }) {
  return <div>{params.id}</div>;
}
 
// Next.js 15
async function Page({ params }: { params: Promise<{ id: string }> }) {
  const { id } = await params;
  return <div>{id}</div>;
}

이 변경은 서버 렌더링 최적화를 위한 것입니다. 요청 데이터에 대한 접근이 비동기가 되면서, React가 렌더링을 더 효율적으로 스케줄링할 수 있게 되었습니다.

캐싱 기본값 변경 (Breaking Change)

Next.js 14에서는 fetch()가 기본적으로 캐싱되었습니다. Next.js 15에서는 캐싱하지 않는 것이 기본값이 되었습니다.

캐싱 기본값 변경
typescript
// Next.js 14: 기본적으로 캐싱됨 (force-cache)
const data = await fetch('https://api.example.com/posts');
 
// Next.js 15: 기본적으로 캐싱 안 됨 (no-store)
const data = await fetch('https://api.example.com/posts');
 
// 캐싱을 원하면 명시적으로 지정
const data = await fetch('https://api.example.com/posts', {
  cache: 'force-cache',
});
 
// 또는 시간 기반 갱신
const data = await fetch('https://api.example.com/posts', {
  next: { revalidate: 3600 },
});

"명시적인 것이 암묵적인 것보다 낫다"는 철학에 따른 변경입니다. 캐싱은 의식적인 선택이 되어야 합니다.

Turbopack Dev 안정화

Rust 기반 번들러인 Turbopack이 개발 모드에서 안정화되었습니다.

  • 로컬 서버 시작: 76.7% 더 빠름
  • Fast Refresh: 96.3% 더 빠름
  • 초기 라우트 컴파일: 45.8% 더 빠름

React 19 지원

Next.js 15.0에서 React 19 RC를, 15.1에서 React 19 안정 버전을 공식 지원합니다. App Router는 React 19를 필요로 하며, Pages Router는 React 18도 계속 지원합니다.

Next.js 16의 핵심 변경사항

Cache Components와 "use cache"

Next.js 14의 PPR(Partial Prerendering) 실험이 Next.js 16에서 **Cache Components**라는 새로운 시스템으로 진화했습니다.

next.config.ts
typescript
const nextConfig = {
  cacheComponents: true,
};
'use cache' 디렉티브
typescript
async function BlogList() {
  "use cache";
  const posts = await db.post.findMany();
  return (
    <ul>
      {posts.map(post => (
        <li key={post.id}>{post.title}</li>
      ))}
    </ul>
  );
}

"use cache" 디렉티브를 선언한 컴포넌트나 함수의 결과가 캐싱됩니다. cacheLife로 캐싱 기간을, cacheTag로 무효화 단위를 세밀하게 제어할 수 있습니다.

Turbopack 기본 번들러

Next.js 16부터 Turbopack이 개발과 프로덕션 빌드 모두에서 기본 번들러가 되었습니다.

  • 프로덕션 빌드: 2~5배 빠름
  • Fast Refresh: 최대 10배 빠름
  • 파일 시스템 캐싱: 캐시 적중 시 최대 14배 빠른 dev 시작

proxy.ts (미들웨어 진화)

기존 middleware.ts가 proxy.ts로 대체되었습니다. 가장 큰 차이는 Node.js 런타임에서 실행된다는 점입니다. Edge 런타임의 제약(제한된 API, 번들 크기 제한)에서 벗어나 Node.js의 모든 API를 사용할 수 있습니다.

React 19.2 통합

Next.js 16은 React 19.2의 기능을 통합합니다.

  • View Transitions: 페이지 전환 애니메이션
  • useEffectEvent(): Effect에서 비반응적 로직 분리
  • <Activity />: 숨겨진 상태에서도 컴포넌트 state 유지

Next.js 16.2: 최신 상태

2026년 3월에 출시된 16.2는 성능과 안정성에 집중했습니다.

  • 87% 빠른 next dev 시작 (16.1 대비)
  • 25~60% 빠른 렌더링 (React RSC 역직렬화 350% 개선)
  • Build Adapters 안정화: 커스텀 배포 플랫폼 지원
  • ImageResponse 2~20배 빠름
  • 200개 이상의 Turbopack 버그 수정

이 시리즈의 구성

이 시리즈는 Next.js 15부터 16까지의 App Router를 체계적으로 다룹니다.

장주제핵심 내용
1장소개Next.js 15~16의 진화와 전체 그림
2장App Router 아키텍처레이아웃, 템플릿, 라우트 그룹, 에러/로딩 경계
3장병렬 라우트@slot 문법, 독립적 로딩/에러, 조건부 렌더링
4장인터셉팅 라우트모달 패턴, 딥 링킹, 사진 갤러리 구현
5장데이터 페칭과 캐싱14→15→16 캐싱 전략 변화, 네 가지 캐시 레이어
6장Cache Components"use cache", cacheLife, cacheTag, 무효화 전략
7장스트리밍 SSRloading.tsx, Suspense 패턴, 점진적 렌더링
8장Server Actions폼 처리, React 19 훅 통합, 보안
9장Turbopack성능 벤치마크, 설정, 마이그레이션
10장미들웨어/Proxy인증, i18n, 기능 플래그, Rate Limiting
11장최적화이미지, 폰트, 메타데이터, Core Web Vitals
12장배포모니터링, 보안, Vercel/Docker/AWS 배포
13장실전 프로젝트Next.js 풀스택 앱 처음부터 구축

학습 사전 요구사항

  • React 19 기본 개념 (이 시리즈의 이전 시리즈 "React 19 & 서버 컴포넌트 혁명" 참조)
  • TypeScript 기초
  • HTML/CSS 기본
  • 터미널 기본 사용법

핵심 요약

  • Next.js 15는 비동기 Request API, 캐싱 기본값 변경(no-store), Turbopack Dev 안정화라는 세 가지 Breaking Change를 도입했습니다.
  • Next.js 16은 Cache Components("use cache"), Turbopack 기본 번들러 전환, proxy.ts, React 19.2 통합을 가져왔습니다.
  • Next.js 16.2는 87% 빠른 dev 시작, Build Adapters 안정화, 200개 이상의 Turbopack 수정을 포함합니다.
  • 전반적인 방향은 "명시적 캐싱", "서버 우선 아키텍처", "빌드 성능 극대화"입니다.

다음 장에서는 App Router의 핵심 아키텍처인 레이아웃, 템플릿, 라우트 그룹을 심층적으로 다룹니다.

이 글이 도움이 되셨나요?

관련 주제 더 보기

#nextjs#react#typescript#frontend

관련 글

웹 개발

2장: App Router 아키텍처 - 레이아웃, 템플릿, 라우트 그룹

Next.js App Router의 파일 기반 라우팅, 레이아웃 계층, 템플릿, 라우트 그룹, 에러/로딩 경계의 동작 원리와 실전 패턴을 다룹니다.

2026년 1월 22일·15분
웹 개발

3장: 동적 라우팅과 병렬 라우트

Next.js의 동적 세그먼트, catch-all 라우트, 병렬 라우트(@slot)의 동작 원리와 대시보드, 조건부 렌더링 등 실전 패턴을 다룹니다.

2026년 1월 24일·10분
웹 개발

4장: 인터셉팅 라우트와 모달 패턴

Next.js의 인터셉팅 라우트로 모달, 사진 갤러리, 미리보기 패턴을 구현합니다. 병렬 라우트와의 조합, 딥 링킹, 공유 가능한 URL을 다룹니다.

2026년 1월 26일·12분
다음 글2장: App Router 아키텍처 - 레이아웃, 템플릿, 라우트 그룹

댓글

목차

약 10분 남음
  • Next.js의 진화 타임라인
  • Next.js 15의 핵심 변경사항
    • 비동기 Request API (Breaking Change)
    • 캐싱 기본값 변경 (Breaking Change)
    • Turbopack Dev 안정화
    • React 19 지원
  • Next.js 16의 핵심 변경사항
    • Cache Components와 "use cache"
    • Turbopack 기본 번들러
    • proxy.ts (미들웨어 진화)
    • React 19.2 통합
  • Next.js 16.2: 최신 상태
  • 이 시리즈의 구성
  • 학습 사전 요구사항
  • 핵심 요약