Utility
Create React App은 이제 과거형: 현대적 React 프로젝트 시작하기
by yoora · 2025-08-20
CRA의 등장과 역할
Create React App(CRA)은 2016년에 Facebook(현 Meta)에서 출시된 도구로, React 앱을 빠르게 bootstrapping(초기 설정) 할 수 있게 해주는 CLI(Command Line Interface)였습니다.
npm create-react-app my-app
명령어 하나로 프로젝트를 생성할 수 있었고, Webpack, Babel 같은 빌드 도구 설정을 자동화해 초보자들에게 인기를 끌었습니다만 시간이 지나면서 몇가지 한계가 드러났습니다.
CRA가 Deprecated 된 이유
- 성능문제 : 빌드와 핫 리로딩 속도가 느리고, 대규모 프로젝트에서 효율이 떨어졌습니다.
- 복잡한 초기 설정 : 불필요하게 많은 의존성을 포함하면서도, 최신 웹 기능(예: Server-Side Rendering, Static Site Generation)을 추가하기가 어려웠습니다.
- 유지보수의 한계 : React 18의 concurrent features 같은 최신 기능을 완벽히 지원하지 못했고, React 팀은 점차 프레임 워크 중심의 개발 방식으로 방향을 전환했습니다.
이러한 이유로 React 팀은 CRA를 deprecated 처리하고, 대신 더 유연하고 성능 좋은 도구들을 권장하고 있습니다.
현대적 React 프로젝트 시작하기
React 공식 문서에 따르면, 새로운 React 프로젝트를 시작할 때는 CRA 대신 아래와 같은 도구로 시작하는 것이 좋다고 합니다.
1. Vite : 가장 간단하고 빠른 대안
- 설치
JavaScriptbash
npm create vite@latest my-react-app -- --template react
TypeScriptbash
npm create vite@latest my-react-app -- --template react-ts
- 실행
bash
cd my-react-app npm install npm run dev
- 장점 : 매우 빠른 빌드 속도와 핫 모듈 리플레이스먼트(HMR), 최소화된 설정
2. Next.js : 풀스택 프레임워크, SSR/SSG 지원
- 설치
JavaScriptbash
npx create-next-app@latest my-next-app
- 특징 : Server-Side Rendering(SSR), Static Site Generation(SSG), API 라우팅 지원
- 장점 : SEO 친화적, 배포가 쉽고 React 최신 기능 통합
3. Remix : 라우팅 중심 풀스택 프레임워크
- 설치
JavaScriptbash
npx create-remix@latest my-remix-app
- 특징 : 데이터 페칭과 라우팅 최적화
- 장점 : 서버 중심 개발에 유리, 빠른 전환
4. Parcel : 제로 컨피그 빌드 도구
- 설치
JavaScriptbash
npm init parcel my-app
- 특징 : 별도의 설정 없이 빠르게 시작 가능
- 순수 React 앱만 빠르게 만들고 싶다 -> Vite
- SSR/SSG, SEO, 풀스택 기능이 필요하다 -> Next.js
- 라우팅과 데이터 페칭 중심 개발을 원한다 -> Remix
- 최소 설정 + 가볍게 테스트 -> Parcel
CRA는 React 시대 초기에 큰 역할을 했지만, 이제는 더 현대적이고 빠른 도구들이 주류로 자리잡았습니다.
앞으로 React 프로젝트를 시작한다면, 간단한 앱은 Vite, 확장 가능한 서비스라면 Next.js가 가장 실용적인 선택이 될 것 같습니다.