Какие плюсы и минусы Create React App?
Основы React
Create React App (CRA) — исторический стартер React-приложений с zero-config сборкой. Сегодня официально не рекомендуется, но плюсы и минусы полезно понимать.
Плюсы (почему был стандартом)
- Zero config: одна команда — готовый проект с webpack, Babel, ESLint, dev-сервером, HMR и production-сборкой.
- Единый стандарт: одинаковая структура во всех проектах, много туториалов и ответов.
- Обновление тулчейна одной зависимостью (react-scripts) — без ручного сопровождения конфигов.
- Из коробки: тесты (Jest), поддержка TS, .env, PWA-шаблон.
Минусы (почему от него ушли)
- Медленно: webpack-сборка и запуск dev-сервера на больших проектах — десятки секунд; Vite (esbuild + нативные ESM) стартует мгновенно.
- Скрытый конфиг: изменить что-либо можно лишь через необратимый
eject(после него вы поддерживаете весь пайплайн) или обёртки CRACO/react-app-rewired. - Устаревшие зависимости и уязвимости: обновления выходили редко; после Webpack 5 — боль с полифиллами Node-модулей.
- Только CSR: нет SSR/SSG — для SEO нужен переезд на Next.js.
- Заброшен: развитие остановлено, React-документация убрала CRA из рекомендаций.
Чем заменяют
- Vite — для SPA: быстрый dev, открытый конфиг, современные дефолты.
- Next.js / Remix — если нужны SSR/SSG, роутинг и серверные компоненты.
- Миграция CRA → Vite — типовая задача последних лет (замена скриптов, index.html, env-префиксов).
Коротко для собеседования
Плюсы CRA: zero config, единый стандарт, обновление тулчейна одной зависимостью. Минусы: медленная webpack-сборка, скрытый конфиг (eject/CRACO), устаревшие зависимости, только клиентский рендеринг, проект заброшен. Современная замена — Vite для SPA и Next.js/Remix при необходимости SSR.