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 / Flutter | Native (Swift + Kotlin) |
|---|---|---|
| Кодовых баз | 1 | 2 |
| Стоимость двух платформ | ×1 | ×1.7–1.9 |
| Срок MVP | 3–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 вопросов
- Это MVP или продукт на годы? MVP → React Native + Expo, не раздумывая.
- Есть ли AR, 3D, тяжёлое видео, игровые механики? Да → native.
- Регулируемая ниша (финансы, медицина, гос)? Да → native, пакеты «Премиум»/«Энтерпрайз».
- Бюджет до 6 млн ₸ и нужны обе платформы? Кроссплатформа — единственный реалистичный путь.
- Основная ценность — контент и сервис, а не «вау-графика»? Кроссплатформа: разницы пользователь не увидит, а вы сэкономите на разработке и поддержке.
И помните: приложение — не всегда ответ. Иногда задачу решает бот в 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. Если магазин у вас уже есть на вебе, приложение подключается к тому же бэкенду.