사용자 인터페이스(UI)를 만들기 위한 JavaScript 언어
핵심 개념
React의 역할 요약
" 화면을 그리는 책임만 가진다."
데이터 저장 ❌
API 통신 로직 ❌ (가능은 하지만 주 역할 아님)
SEO ❌
서버 ❌
React 기반 풀스택 프레임워크
Next.js가 React 위에서 해결해주는 것
| 문제 | React 단독 | Next.js |
| ------- | -------- | --------- |
| 라우팅 | 직접 구현 | 파일 기반 라우팅 |
| SEO | 취약 | 매우 강함 |
| 서버 렌더링 | 어려움 | 기본 지원 |
| 백엔드 API | 별도 서버 | 내장 가능 |
Next.js의 역할 요약
"React 앱을 '서비스 가능한 웹앱'으로 만둘어준다."
GraphQL 기반 백엔드 서버
Apollo Server의 역할
"프론트엔드가 원하는 형태로 데이터를 제공하는 중간 계층" > 인증, 권한, 비즈니스 로직, 데이터 조합
| 계층 | 역할 |
|---|---|
| React | UI 컴포넌트 |
| Next.js | 웹앱 프레임워크 + SSR |
| Apollo Server | 데이터 API / 비즈니스 로직 |
| MongoDB | 데이터 저장 |