React Native — самый частый предмет спора на первой встрече по мобильной разработке. Одни подрядчики продают его как «волшебную кнопку: одно приложение по цене половины», другие пугают «тормозами и ненативным интерфейсом». Правда, как обычно, посередине и зависит от задачи. В этой статье — честные критерии выбора, которые мы используем на собственных проектах.

Что такое React Native и Expo

React Native — фреймворк с открытым кодом от Meta, который позволяет писать мобильные приложения на JavaScript/TypeScript и React, а на выходе получать настоящие приложения для iOS и Android — не «сайт в обёртке». Кнопки, списки и переходы рендерятся нативными компонентами платформы, поэтому интерфейс выглядит и ощущается как родной.

Ключевое отличие от нативной разработки: одна кодовая база вместо двух. Нативный путь — это Swift для iOS плюс Kotlin для Android: два языка, две команды, каждая функция пишется дважды. Кроссплатформенная разработка на React Native закрывает обе платформы одной командой — 90–95% кода общие, и только специфичные платформенные вещи (виджеты, глубокие интеграции с железом) дописываются отдельно.

Expo — надстройка над React Native, которая убирает рутину: сборка и подпись приложений в облаке (EAS), обновления без повторной публикации в сторе, готовые модули для камеры, геолокации, push-уведомлений. Для MVP и бизнес-приложений это экономит недели работы — поэтому наш пакет «Стартер» построен именно на связке React Native + Expo.

React Native: примеры приложений, которыми вы пользуетесь

Лучший аргумент против тезиса «кроссплатформа — это компромисс» — список приложений, которые на ней работают. Все примеры ниже — общеизвестные, компании сами рассказывали о своём стеке в инженерных блогах:

  • Instagram — значительная часть экранов написана на React Native. Сотни миллионов пользователей ежедневно не видят разницы между «нативными» и «кроссплатформенными» экранами.
  • Discord — мессенджер с голосовыми каналами и стримингом, одно из самых нагруженных коммуникационных приложений в мире, использует React Native на iOS и Android.
  • Shopify — платформа e-commerce перевела свои флагманские мобильные приложения на React Native и публично объявила его основным мобильным стеком компании.

Есть и обратный пример, который любят критики: Airbnb в своё время отказался от React Native. Важный контекст — это было в 2018 году, на старой архитектуре фреймворка, при сотнях мобильных разработчиков в штате. С тех пор React Native пережил полную переработку движка рендеринга, и для бизнеса с командой не из трёхсот инженеров его ограничения выглядят совсем иначе.

Если ваш сценарий — каталог, запись, личный кабинет, заказы, лента, чат — то есть то, чем занимаются 90% бизнес-приложений в Казахстане, — React Native справится так же, как справляется у Shopify. Сомневаетесь, нужно ли вообще приложение или хватит мобильной версии сайта — мы разобрали это в статье «Приложение или мобильная версия сайта».

Когда кроссплатформенная разработка выигрывает

Математика бюджета: обе платформы по цене одной

Главный аргумент кроссплатформы — экономика. Нативная разработка под две платформы — это две кодовые базы и примерно ×1.7–1.9 к стоимости и срокам относительно одной кодовой базы. На практике это значит: за бюджет одного нативного приложения вы получаете кроссплатформенное под iOS и Android сразу. Для рынка Казахстана, где аудитория делится между платформами (подробно — в статье «iOS или Android: что разрабатывать первым»), запускаться только на одной платформе — значит сразу отрезать часть клиентов.

Кроссплатформа выигрывает, когда выполняется хотя бы одно из условий:

  • Вы проверяете гипотезу. MVP за 3–4 недели на React Native + Expo против 3 4 месяцев на native — разница между «проверили спрос в этом квартале» и «проверим в следующем году». Как собрать MVP правильно — в статье «MVP приложения: как запустить за месяц».
  • Логика приложения — интерфейсная. Каталоги, записи, заказы, лента, профиль, push-уведомления, оплата — стандартные сценарии, где нативная производительность не даёт заметного выигрыша.
  • Нужны обе платформы при ограниченном бюджете. 2.5–6 млн ₸ — коридор, в котором две нативные команды физически не помещаются, а кроссплатформенная — помещается с запасом на дизайн и тестирование.
  • У вас уже есть веб-продукт на React. Команда, компоненты и логика частично переиспользуются — ускорение ещё заметнее.

А что насчёт Flutter

Flutter — второй большой кроссплатформенный фреймворк, от Google. Он рисует интерфейс собственным движком, поэтому держит сложную кастомную анимацию стабильнее. Мы используем его в пакете «Бизнес» для b2c-приложений с агрессивным дизайном: доставка, food-tech, маркетплейсы. Минус — отдельный язык Dart и невозможность переиспользовать веб-команду на React. Выбор между React Native и Flutter — вопрос конкретного проекта, и решается он на дискавери, а не по религиозным соображениям. Похожая логика работает и в вебе: технологию выбирают под задачу, а не наоборот — мы подробно разбирали это в статье «Какой движок выбрать для сайта».

Не уверены, какой стек подходит вашей задаче?

Опишите проект в квизе за 3 минуты — за 2 рабочих часа пришлём предварительное КП с рекомендацией стека, пакетом и вилкой цены. Затем — бесплатный дискавери-созвон с разработчиком, не с продажником.

Когда нативная разработка обязательна

Кроссплатформа закрывает большинство бизнес-задач, но есть три зоны, где мы сами отговорим вас от React Native и предложим Swift + Kotlin:

  • Тяжёлая графика и медиа в реальном времени. AR/VR, 3D-сцены, обработка видео на лету, игровые механики. Здесь нужен прямой доступ к GPU и платформенным графическим API — мост кроссплатформенного фреймворка становится узким местом.
  • Глубокая работа с железом и экосистемой. HealthKit и Google Fit, NFC-платежи, CarPlay/Android Auto, виджеты, Live Activities, Bluetooth-периферия. Часть закрывается нативными модулями внутри RN, но когда таких интеграций много — дешевле и надёжнее писать нативно сразу.
  • Регулируемые ниши: банки, медицина, госсервисы. Требования регуляторов к безопасности критических операций, сертификация, пентест по OWASP MASVS — в этих проектах нативный стек де-факто обязателен. Это территория наших пакетов «Премиум» и «Энтерпрайз».

Отдельный честный пункт: native выигрывает, когда продукт — долгосрочный флагман с горизонтом 5+ лет и миллионной аудиторией. На таком масштабе каждая миллисекунда отклика и «нативный feel до пикселя» начинают окупать две кодовые базы.

Сравнительная таблица: React Native против native

КритерийReact Native / FlutterNative (Swift + Kotlin)
Кодовых баз12
Стоимость двух платформ×1×1.7–1.9
Срок MVP3–4 недели3–4 месяца
Типовые бизнес-сценарииОтличноОтлично, но дороже
Тяжёлая графика, AR/3DСлабоСильная сторона
Глубокие интеграции с железомЧерез нативные модулиНапрямую, без посредников
Банки и регулируемые нишиОбычно не допускаетсяСтандарт отрасли
Обновления без ре-публикации в стореДа (Expo/CodePush)Нет
Поддержка одной командойДаНужны два профиля разработчиков

Принцип Hyperlab: смена стека сохраняет 50%+ работы

Самый частый страх клиента: «А если мы начнём на React Native, вырастем — и придётся всё выбрасывать и писать заново?» Не придётся, если архитектура спроектирована без «замурованных дверей». У нас это устроено так:

  • Бэкенд всегда на TypeScript + Hono + Bun — том же стеке, на котором мы строим интернет-магазины и веб-порталы. Мобильное приложение — только клиент к API. При переходе с RN на native бэкенд не меняется вообще.
  • API-контракт фиксируется в схемах, из которых модели для нового стека генерируются автоматически.
  • Дизайн живёт в дизайн-токенах, которые читаются и React Native, и Flutter, и нативными платформами — интерфейс переносится, а не перерисовывается с нуля.
  • Аналитика и документация не привязаны к стеку: события, воронки и архитектурные решения переезжают как есть.

Итог: при смене стека переписывается только UI-слой — 50%+ выполненной работы сохраняется. Поэтому стартовать с кроссплатформы не страшно: это не тупик, а первая ступень. Тот же принцип постепенного роста мы исповедуем и в вебе — от лендинга к корпоративному сайту без переделки фундамента.

Пакеты и цены Hyperlab

Стек — не идеология, а функция от бюджета, сценария и горизонта. Поэтому наши четыре пакета привязаны к задачам:

ПакетСтекЦенаСрокДля чего
СтартерReact Native + Expoот 2 500 000 ₸3–4 неделиMVP, мобильная версия сервиса
БизнесReact Native / Flutterот 4 000 000 ₸8–10 недельПолноценное приложение с логином и push
ПремиумNative iOS + Androidот 8 000 000 ₸4–6 месяцевПродукт с платежами и горизонтом 5+ лет
ЭнтерпрайзNative + микросервисыот 15 000 000 ₸6+ месяцевБанки, медицина, госсервисы

Подробный разбор, из чего складывается цена каждого пакета, — в статье «Сколько стоит разработка мобильного приложения». Как устроен сам процесс от идеи до публикации в сторах — в статье «Этапы разработки мобильного приложения». Примеры наших работ — на странице кейсов, полный каталог с ценами — на странице услуг.

Оплата на любом пакете — по этапам, без полной предоплаты: для сделок от 1 до 5 млн ₸ — схема 30 / 40 / 30, от 5 млн — 20 / 30 / 30 / 20. Каждый платёж привязан к принятому артефакту, а не к обещанию. После релиза приложение и его бэкенд можно передать на сопровождение — чтобы обновления сторов и мелкие правки не ложились на вашу команду.

Чек-лист: ваш выбор за 5 вопросов

  1. Это MVP или продукт на годы? MVP → React Native + Expo, не раздумывая.
  2. Есть ли AR, 3D, тяжёлое видео, игровые механики? Да → native.
  3. Регулируемая ниша (финансы, медицина, гос)? Да → native, пакеты «Премиум»/«Энтерпрайз».
  4. Бюджет до 6 млн ₸ и нужны обе платформы? Кроссплатформа — единственный реалистичный путь.
  5. Основная ценность — контент и сервис, а не «вау-графика»? Кроссплатформа: разницы пользователь не увидит, а вы сэкономите на разработке и поддержке.

И помните: приложение — не всегда ответ. Иногда задачу решает бот в Telegram или AI чат-бот за долю бюджета. Если сомневаетесь в самой идее — начните с маркетингового исследования, это дешевле, чем проверять гипотезу разработкой.

Частые вопросы

Правда ли, что приложения на React Native «тормозят»?

Для типовых бизнес-сценариев — нет. Интерфейс рендерится нативными компонентами, и в 95% сценариев пользователь не отличит RN-приложение от нативного. Узкие места проявляются на тяжёлой графике и сложных реал-тайм задачах — для них мы сразу рекомендуем native.

Сколько стоит приложение на React Native?

У нас — от 2 500 000 ₸ за MVP (пакет «Стартер», 3–4 недели) и от 4 000 000 ₸ за полноценное приложение с авторизацией, профилем и push-уведомлениями (пакет «Бизнес», 8–10 недель). Обе цены — за iOS и Android сразу, из одной кодовой базы.

Сможем ли мы потом переписать приложение с React Native на native?

Да, и это штатный сценарий роста, а не катастрофа. При нашей архитектуре бэкенд, API-контракт, дизайн-токены и аналитика сохраняются — переписывается только UI-слой. Это 50%+ сохранённой работы и примерно 30–40% стоимости проекта вместо 100%.

Что лучше: React Native или Flutter?

Оба — зрелые инструменты, выбор зависит от проекта. React Native выгоден, если есть веб-продукт на React или важны обновления без ре-публикации в сторе. Flutter сильнее в сложной кастомной анимации. Мы работаем с обоими и фиксируем выбор на дискавери — по задаче, а не по моде.

Подходит ли React Native для интернет-магазина?

Да, это один из идеальных сценариев: каталог, корзина, оплата, push о статусе заказа. Shopify — крупнейшая e-commerce платформа мира — строит свои приложения именно на RN. Если магазин у вас уже есть на вебе, приложение подключается к тому же бэкенду.

Аблайхан

Основатель Hyperlab · в нише с 2019 года

Веду студию с 2019 года. За это время сдали 120 проектов: лендинги, корпоративные сайты, интернет-магазины, веб-порталы и мобильные приложения. Большая часть — для бизнеса Алматы и Астаны. Пишу в блог, когда есть что сказать по цифрам, а не ради SEO. Про студию →