Стек — это не про моду, а про окупаемость. На старте важны скорость вывода версии, стоимость владения и возможность масштабировать продукт без переписывания. Разберём, когда выбирать Next.js для веба и когда React Native для мобильных, как считать выгоду и какие риски учесть.
Критерии выбора (что влияет сильнее всего)
- Каналы роста: SEO/контент, платный трафик, реферальные программы, сторы.
- Покрытие платформ: веб только / веб+мобайл / «мобайл first».
- Сложность UX и производительность: анимации, списки, графика, офлайн.
- Интеграции и безопасность: платежи, CRM, PII/комплаенс.
- Команда и найм: доступность разработчиков и экспертизы.
- TCO (total cost of ownership): поддержка, апдейты, релизы, DevOps.
Когда выбирать Next.js для веба
- Нужны SEO и «быстрый» контент: SSR/SSG/ISR, edge-кеширование, генерация sitemap/hreflang.
- Гибрид: маркетинговые страницы + приложение (личный кабинет, дэшборды) в одной кодовой базе.
- Headless CMS / e-commerce: удобные роутеры, API routes/route handlers, оптимизация изображений.
- Мультиязык и регионы: встроенная i18n- маршрутизация.
- Performance по умолчанию: статическая выдача, code-splitting, динамические импорты.
Когда React Native окупается
- Требуется сразу iOS и Android: единая команда против двух нативных.
- Time-to-market важнее «идеальной» нативности: RN закрывает 80–90% сценариев.
- UI средней сложности: списки, формы, офлайн-кэш, пуши, deeplink — без тяжёлой 3D/AR/видеомонтажа.
- Reuse логики и UI между веб и мобайлом (общие валидаторы, модели, дизайн-токены).
- Нужны быстрые итерации: EAS/Fastlane, OTA-обновления (с оговорками сторов).
Когда лучше натив или альтернатива
- Графика/игры/AR, глубокая работа с сенсорами, тяжёлый real-time — предпочтителен натив.
- Долгие фоновые задачи, сложная блютуз-периферия — проверяйте поддержку библиотек.
- Очень простой мобильный сценарий без стор-фич — начните с PWA (дешевле и быстрее).
Архитектура и повторное использование
- Monorepo (pnpm/turbo): пакеты `ui`, `tokens`, `api`, `validators` → общие между Next.js и RN.
- Дизайн-система: Storybook, единые компоненты (там, где уместно), типографика и отступы как токены.
- API: tRPC/GraphQL/REST с единой схемой типов; бэкенд-контракты генерятся.
- Мобильное: Expo для скорости либо bare RN, если много нативных модулей.
Стоимость и окупаемость: простая модель
“TCO_native ≈ 2 × (разработка + QA + релизы) + дублирование фич”
“TCO_RN ≈ 1.3–1.6 × (разработка + QA + релизы) + нативные модули”
Числовой пример: две нативные команды по 20k$ каждая = 40k$/мес. Команда RN — 28k$/мес. + 3k$ на нативные модули и билд-инфраструктуру = 31k$. Экономия ~9k$/мес. При условии, что time-to-market одинаков или быстрее на RN, точка безубыточности по сравнению с нативом наступает в 2–3 месяца.
Риски и как их контролировать
- Зависимости и апгрейды: плановые окна обновлений (раз в квартал), e2e-регресс.
- Производительность: профилирование списков, виртуализация, Hermes, избранно Reanimated.
- Нативные мосты: ограничивайте их число, оборачивайте в изолированные пакеты.
- Для Next.js: бюджеты Core Web Vitals, `dynamic import`, ревизия сторонних скриптов.
- Стор-комплаенс: политика приватности, трекинг, review-чек-лист перед релизом.
CI/CD и качество
- Веб: Vercel/Netlify + GitHub Actions, превью-деплои на PR, Lighthouse-баджеты.
- Мобайл: Expo EAS или Fastlane + тестовые треки (TestFlight/Internal App Sharing).
- Фича-флаги: выкатываем без релучей, включаем по сегментам.
- Мониторинг: Sentry, перформанс-события (web-vitals, slow-render, long-task).
Контент, SEO и сторы
- Next.js: уникальные Title/Desc, schema.org, hreflang, карта сайта, чистые URL.
- RN: ASO — иконка/скриншоты/видео, ключевые слова, локализации, ответы на отзывы.
Быстрый чек-лист выбора
- Нужны SEO-страницы и веб-продукт → берите Next.js.
- Нужны iOS+Android с одной командой → берите React Native (проверьте риски).
- Нужны AR/видео-рендер/тяжёлый real-time → рассмотрите натив.
- Если гипотеза про мобильный «тонкая» → начните с PWA и замерьте метрики.
- Считайте TCO на 12 месяцев, не только стоимость первого релиза.
- Закладывайте процессы: CI/CD, апгрейды, перформанс-бюджеты, фича-флаги.
Итог
Next.js и React Native — быстрый и экономичный путь закрыть веб и мобайл одной технологической семьёй. Выбирайте от каналов роста и TCO: где важнее SEO и конверсия на вебе — Next.js; где нужен быстрый выход на iOS+Android — RN. Гибридный путь встречается чаще всего и окупается быстрее.