Next.js 생태계

Next.js 라이브러리 기준

인증, 데이터 요청, 폼, 스타일링, 검증, 테스트 라이브러리를 Next.js 런타임 경계와 유지보수 비용 기준으로 고른다.

01

문제 범주화

먼저 인증인지 데이터 동기화인지 폼 검증인지 해결하려는 문제를 좁힌다.

category
02

런타임 확인

Server Component, Client Component, Edge Runtime에서 동작하는지 확인한다.

runtime
03

비용 비교

bundle size, API 학습 비용, lock-in, 커뮤니티 유지보수 상태를 본다.

trade-off
04

작은 적용

핵심 흐름 한 곳에 먼저 붙이고 에러 처리와 테스트 패턴을 검증한다.

pilot
Auth
세션 전략과 provider 요구가 라이브러리 선택을 좌우한다. NextAuth, Clerk, custom auth는 보안 책임 범위가 다르다.
세션 경계
Data
서버 fetch, TanStack Query, SWR은 캐시 위치가 다르다. 서버 중심이면 fetch cache, 클라이언트 동기화면 query cache를 본다.
cache owner
Form
React Hook Form과 Zod 조합은 입력 상태와 스키마 검증을 분리한다. 서버 액션과 함께 쓸 때 에러 반환 형태를 통일한다.
검증 계약

라이브러리 도입 기준

타입 품질 별도 any 래퍼 없이 프로젝트 타입과 자연스럽게 연결된다.
런타임 지원 Edge 또는 서버 전용 API 사용 여부를 문서에서 확인한다.
제거 비용 교체 가능하도록 앱 전역에 직접 의존성을 퍼뜨리지 않는다.

선택 질문

Where does state live? server | client | external service
Who owns cache? Next fetch | query library | CDN