발렌타인 데이: React가 Create React App을 버린 이유
2025-04-01 16:16:08발렌타인 데이: React가 Create React App을 버렸다
2025년 2월 14일, 발렌타인 데이 아침. 많은 사람들은 사랑에 대한 기대감에 부풀어 있었지만, 전 세계 개발자들 사이에선 다른 긴장감이 스며들었습니다. 바로 그 날, React 팀이 Create React App(이하 CRA)을 공식적으로 중단한다고 발표했기 때문입니다. CRA는 그동안 React 프로젝트를 간단하게 시작할 수 있도록 돕는 도구로 큰 인기를 끌어왔습니다. 그렇다면 왜 이제 그만 두는 걸까요?
CRA란 무엇인가?
CRA는 새로운 React 프로젝트를 단 한 줄의 명령어로 설정할 수 있는 커맨드라인 도구입니다. 주로 Webpack과 Babel을 활용해 코드 묶기와 변환을 제공하며, 로컬 서버 기능을 통해 실시간 코드 변경도 가능하게 합니다. 초보자를 위해 복잡한 설정을 피하면서도 일관된 프로젝트 구조를 제공합니다.
CRA의 장점은?
CRA는 복잡한 설정 없이 빠르게 시작할 수 있게 하여 초보자들에게 이상적입니다. 개발자는 프로젝트 구조에 대한 일관성을 유지하면서, 간편하게 라이브러리들을 통합할 수 있습니다.
그렇다면 왜 CRA는 중단되었나?
CRA가 주로 사용하던 방식은 현대 개발의 요구사항을 따라가기에는 한계가 있었습니다. 네비게이션, 데이터 페칭, 코드 스플리팅 같은 필수적인 기능에 대한 내장 솔루션이 부족했으며, 적극적인 유지보수도 이루어지지 않았습니다. 오픈 소스 기여가 중요한 이유를 여기서 알 수 있습니다. 관련 프로젝트에 기여하지 않으면 툴은 구식이 되거나 사라질 수 있습니다. 이제 React 팀은 Next.js와 같은 현대적인 프레임워크나 Vite, Parcel과 같은 빌드 도구로의 전환을 권장합니다.
Vite란 무엇인가?
Vite는 Rollup을 사용하는 현대적인 프론트엔드 빌드 도구로, 빠르고 효율적인 웹 애플리케이션 개발을 지원합니다. 즉시 파일을 제공해 즉각적인 업데이트를 보장하며, 자바스크립트 라이브러리 구축에도 유용합니다.
Vite가 CRA보다 뛰어난 이유
Vite는 네이티브 ECMAScript Modules(ESM)를 사용해 서버를 즉각 시작할 수 있습니다. HMR(Hot Module Replacement)이 빠르고, 프로젝트 규모에 상관없이 성능을 유지합니다. 반면 CRA는 Webpack을 사용해 서버 시작이 지연됩니다. 또한 TypeScript, JSX, CSS 전처리기 등을 네이티브로 지원하며, 다중 페이지 애플리케이션이나 자바스크립트 라이브러리를 쉽게 구축할 수 있습니다. 무엇보다도 Vite는 CRA보다 월등히 빠릅니다.
첫 Vite 프로젝트 설정하기
Vite 프로젝트를 시작하려면 다음 명령어를 실행하십시오:
npm create vite@latest
# 또는
yarn create vite
이후 프레임워크와 변종 선택, 종속성 설치가 이어집니다. 개발 서버를 시작하려면 yarn dev 또는 npm dev를 사용하세요.
Vite의 한계
하지만 Vite도 문제점이 없지는 않습니다. 네이티브 ESM 사용으로 인해 구형 브라우저와의 호환성 문제를 가질 수 있으며, 플러그인 에코시스템이 비교적 작은 편이라 특정 툴이나 통합이 제한될 수 있습니다. 특히 대규모 애플리케이션에서 최종 빌드 속도가 저하될 수 있습니다.
결론
발렌타인 데이에 CRA가 공식적으로 중단되면서, Vite와 같은 새로운 도구를 배우고 익히는 것은 필수가 되었습니다. 프로젝트의 성능과 유지보수성을 고려할 때, 현대적이고 지원이 잘 되는 프레임워크와 빌드 도구로의 전환이 필요합니다.