Написать нам в Telegram

Flutter, React Native или натив: на чём заказать мобильное приложение

Разработка
19 сентября 2026 г.
Фото Максим Козлов
Максим КозловРуководитель отдела разработки

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

Ниже — сравнение пяти подходов глазами владельца бизнеса: нативная разработка на Swift и Kotlin, Flutter, React Native, Kotlin Multiplatform и PWA. Что изменилось в 2026 году, когда что выбирать, как считать реальную экономию кроссплатформы и что спросить у подрядчика, чтобы понять, выбрал ли он технологию под вашу задачу или под свою команду. Этапы создания приложения и публикацию в сторах мы разобрали отдельно в статье о том, как создать мобильное приложение, здесь только о выборе стека.

Что такое нативное и кроссплатформенное приложение

Нативное приложение — это программа, написанная на «родном» языке и официальными инструментами конкретной операционной системы: для iPhone — на Swift в Xcode, для Android — на Kotlin в Android Studio. Оно напрямую работает с камерой, геолокацией, платежами и другими функциями устройства, а новые возможности iOS и Android получает сразу после их выхода. Обратная сторона — под две платформы нужны два отдельных приложения со своим кодом.

Кроссплатформенное приложение пишут один раз и собирают сразу под iOS и Android: большая часть кода общая, платформенные детали дописывают отдельно. В 2026 году для этого используют три зрелые технологии: Flutter от Google (язык Dart), React Native (JavaScript или TypeScript) и Kotlin Multiplatform от JetBrains (Kotlin). Пользователь разницы не видит: оба варианта скачиваются из App Store, Google Play или RuStore и работают как обычное приложение. Не стоит путать кроссплатформу с веб-обёрткой, где внутри приложения просто открывается сайт, — такие решения работают хуже и чаще получают отказ на модерации.

Пять подходов к мобильной разработке

На чём делают мобильные приложения в 2026 году? Рабочих вариантов пять, и отличаются они не языком, а тем, сколько кода пишется один раз на обе платформы.

  • Нативная разработка. Два отдельных приложения: под iOS на Swift (интерфейс на SwiftUI), под Android на Kotlin (Jetpack Compose). Официальные инструменты Apple и Google, полный доступ ко всем возможностям системы, но две кодовые базы и, как правило, две команды.
  • Flutter. Фреймворк Google на языке Dart. Один код на iOS и Android, интерфейс рисует собственный движок, поэтому приложение выглядит одинаково на всех устройствах. Код компилируется в машинный, а не интерпретируется.
  • React Native. Фреймворк на JavaScript/TypeScript. Один код на обе платформы, но интерфейс собирается из системных элементов iOS и Android. Главный плюс — общий язык и часть кода с веб-проектом на React.
  • Kotlin Multiplatform (KMP). Общая бизнес-логика на Kotlin (сеть, данные, расчёты), а интерфейс — на выбор: нативный под каждую платформу или общий на Compose Multiplatform. Подход «делим код, где это выгодно».
  • PWA. Веб-приложение, которое устанавливается на экран телефона, работает офлайн и умеет отправлять push-уведомления. Не требует магазинов приложений, но ограничено возможностями браузера.
Кроссплатформа — это не «одно приложение на всё без оговорок». Общей обычно получается большая часть кода (точная доля зависит от проекта), остальное — платформенные доработки: платежи, push, камера, виджеты, требования модерации App Store.

Что изменилось в 2026 году: актуальное состояние технологий

Многие статьи о выборе стека пересказывают аргументы пятилетней давности: «React Native тормозит из-за моста», «Flutter дёргается при первом запуске анимаций», «KMP — эксперимент». Сейчас это уже не так.

Flutter: Impeller вместо Skia

Flutter перешёл на собственный графический движок Impeller: на iOS он единственный, на Android включён по умолчанию для современных устройств. Шейдеры компилируются заранее, поэтому исчезли характерные подтормаживания при первом показе анимаций, на которые жаловались раньше. Из одной кодовой базы собираются iOS, Android, веб и десктоп, а для российского рынка важно, что компания «Открытая мобильная платформа» развивает собственный порт Flutter для ОС Аврора (в официальную сборку Flutter он не входит).

React Native: только New Architecture

Новая архитектура (рендерер Fabric, TurboModules, прямой вызов нативного кода через JSI вместо асинхронного «моста») стала архитектурой по умолчанию в версии 0.76, а с версии 0.82 (октябрь 2025) — единственной: отключить её уже нельзя. Для заказчика вывод двойной. Производительность новых проектов заметно выросла. Но старые приложения на React Native, которые годами не обновлялись, теперь требуют отдельной миграции, а часть устаревших сторонних библиотек её не переживёт.

Kotlin Multiplatform и Compose Multiplatform: стабильны

Общая логика на KMP имеет статус Stable с конца 2023 года, Google официально поддерживает этот подход для Android. Общий интерфейс Compose Multiplatform для iOS вышел в стабильный статус в мае 2025 года (версия 1.8.0). Иначе говоря, KMP перестал быть экспериментом и стал полноценным вариантом для продакшна, хотя готовых библиотек и специалистов у него пока меньше, чем у Flutter и React Native.

Натив: SwiftUI и Jetpack Compose

Нативная разработка тоже ускорилась: декларативные SwiftUI и Jetpack Compose сократили объём кода интерфейса. Но главный недостаток остался — каждую функцию приходится писать и тестировать дважды.

Flutter vs React Native vs натив vs KMP: сравнительная таблица

Сравнение по критериям, которые важны заказчику, а не разработчику. Оценки относительные, для типового бизнес-приложения: каталог, личный кабинет, оплата, push-уведомления, интеграция с CRM или 1С.

КритерийНатив (Swift + Kotlin)FlutterReact NativeKMP
Скорость разработкиСамая низкая: всё дваждыВысокаяВысокаяСредняя: интерфейс часто пишется дважды
Стоимость на две платформыБазовая (100%)Экономия до 40%Экономия до 40%Меньше, чем у Flutter и RN: общая в основном логика; больше с общим UI
ПроизводительностьМаксимальнаяБлизка к нативнойБлизка к нативной после New ArchitectureНативная при нативном UI
Доступ к функциям устройстваПолный и сразу после выхода новой ОСЧерез плагины; редкое — нативным кодомЧерез модули; редкое — нативным кодомПолный: платформенный код пишется напрямую
Внешний видРодной для каждой ОСОдинаковый на iOS и AndroidБлизок к системномуРодной или общий — на выбор
Найм разработчиковНужны два профиляСпециалистов меньше, но один закрывает обе ОСПроще всего: большой рынок JS/ReactМало специалистов, ищут среди Android-разработчиков
Долгосрочная поддержкаПредсказуемая, но двойнаяПредсказуемая, одна кодовая базаЗависит от качества сторонних библиотекПредсказуемая, но экосистема моложе
Главный рискБюджет и расхождение версийНужна платформенная фича без готового плагинаОбновления ломают зависимостиДефицит кадров и библиотек

PWA в таблицу не включён намеренно: это другой класс решения. Приложение без публикации в App Store, Google Play и RuStore, дешевле всех вариантов, но с жёсткими ограничениями. Например, Safari на iPhone не поддерживает Web Bluetooth, а push-уведомления на iOS работают только после ручной установки PWA на домашний экран (с iOS 16.4). Подробно о том, когда хватает веб-версии, — в статье «Мобильное приложение или мобильная версия сайта».

React Native или Flutter: что выбрать бизнесу

Это самый частый спор, и ответ зависит не от «какой фреймворк лучше», а от того, что у вас уже есть.

Flutter выгоднее, когда вы делаете новый продукт с нуля, нужен фирменный дизайн с анимациями, важно одинаковое поведение на iOS и Android, а в перспективе нужны веб-версия или ОС Аврора из той же кодовой базы. Интерфейс не зависит от версии системы, поэтому на старых Android-смартфонах и новых iPhone приложение выглядит и ведёт себя одинаково, а тестирование проще. Типовой состав работ и сроки такого проекта описаны на странице Flutter-разработки.

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

Если своей команды разработки нет и не планируется, решающим становится не язык, а то, на чём подрядчик сделал больше проектов и сможет поддерживать приложение годами. Попросите показать приложения в сторах, которые команда развивает не меньше двух лет.

Когда нужна нативная разработка на Swift и Kotlin

Натив оправдан не «для солидности», а при конкретных требованиях. Типичные признаки:

  • Тяжёлая графика и медиа: видеоредакторы, обработка фото в реальном времени, стриминг с низкой задержкой, 3D.
  • AR и работа с сенсорами: ARKit и ARCore, LiDAR, сложные сценарии с камерой.
  • Глубокая работа с Bluetooth LE и внешними устройствами: медицинские датчики, фитнес-трекеры, умный дом, оборудование на производстве, где важна стабильная фоновая работа.
  • Экосистема платформы: Apple Watch, виджеты, CarPlay и Android Auto, интеграция с системными сервисами.
  • Банки и финтех с жёсткими требованиями безопасности, где служба ИБ требует минимума сторонних зависимостей и полного контроля над кодом.

Если приложение нужно только под одну платформу, например внутренний инструмент на Android-терминалах сотрудников, натив тоже часто разумнее: экономить кроссплатформой нечего. Для таких задач есть отдельные направления — разработка приложения под iOS на Swift и под Android на Kotlin.

Промежуточный вариант — Flutter или KMP с нативными модулями: большая часть приложения общая, а критичная часть (работа с BLE-устройством или камерой) пишется нативно. Так делают многие продукты, и это нормальная инженерная практика, а не костыль.

Какую технологию выбрать под задачу: сценарии

СценарийЧто обычно выбираютПочему
MVP для проверки гипотезыFlutter или React NativeБыстрый выход сразу на обе платформы, минимальный бюджет
Приложение-витрина, каталог, программа лояльностиFlutter; PWA, если не нужны сторыТиповые экраны, упор на дизайн и скорость запуска
Интернет-магазин с оплатой и интеграцией с 1СFlutter или React NativeВся сложность на бэкенде, интерфейс типовой
Есть веб-продукт на React и своя командаReact NativeОбщий язык, переиспользование кода, проще найм
Финтех, банк, медиа с тяжёлой графикойНатив или KMP с нативным UIПроизводительность, безопасность, родной UX
AR, BLE-устройства, носимая электроникаНатив; кроссплатформа с нативными модулямиГлубокий доступ к железу и фоновой работе
Есть нативное Android-приложение, нужно iOSKMPЛогику переносят, а не пишут заново
Внутреннее приложение для сотрудниковFlutter или PWAДёшево, быстро, модерация сторов часто не нужна

Сколько на самом деле экономит кроссплатформа

Цифра «экономия до 40%» верна, но её важно правильно читать. Экономится только клиентская часть: код интерфейса и логики, которые не нужно писать дважды. Остальные статьи бюджета от технологии почти не зависят:

  • аналитика, проектирование и дизайн — макеты под iOS и Android всё равно адаптируют;
  • бэкенд, админка и интеграции с 1С, CRM, платёжными системами;
  • тестирование на реальных устройствах обеих платформ;
  • публикация в App Store, Google Play и RuStore и прохождение модерации.

Поэтому на проекте, где половина бюджета уходит на бэкенд и интеграции, итоговая экономия заметно ниже (ориентировочно 15–25%), а на приложении с богатым интерфейсом и простым сервером — приблизиться к 40%. Ещё важнее экономия на дистанции: каждая новая функция и каждое исправление делаются один раз, а релизы на обе платформы выходят одновременно. По нашим ориентирам кроссплатформенный MVP начинается от 400 000 ₽, нативный MVP на одну платформу — от 800 000 ₽, точная цена зависит от числа экранов, ролей и интеграций. Подробный разбор бюджета — в статье о стоимости мобильного приложения.

Если подрядчик обещает кроссплатформу «в два раза дешевле натива», уточните, что входит в смету. Чаще всего из неё выпали бэкенд, дизайн под обе платформы или публикация, и эти работы всплывут как доплаты.

Миграция с одной технологии на другую

Переход на другой стек — дорогое решение, и полная переписка оправдана не всегда. Основные сценарии:

  1. Два нативных приложения → Flutter. Частый случай: версии разъехались по функциям, каждая доработка стоит вдвое. Можно переписать приложение целиком или встраивать Flutter-модули в нативное приложение постепенно (режим add-to-app), экран за экраном.
  2. Нативное Android → KMP. Логику выносят в общий модуль, а iOS-версию собирают поверх неё. Подходит, когда Android-команда сильная и её не хочется терять.
  3. Старый React Native → актуальная версия или Flutter. Если приложение застряло на старой архитектуре, сначала оценивают стоимость обновления до актуальной версии с New Architecture. Иногда она сопоставима с переходом на Flutter, и тогда сравнивают оба варианта.
  4. PWA или обёртка сайта → полноценное приложение. Обычно это новая разработка клиентской части, но бэкенд и API сохраняются.

Чтобы оценить миграцию, нужен аудит: объём кода, устаревшие зависимости, покрытие тестами, качество API. От этого зависит, что выгоднее: поддерживать текущий код, рефакторить его или переписывать — подробнее в статье о legacy-коде. Главное правило миграции — не останавливать развитие продукта на полгода: пользователи и бизнес не ждут.

Вопросы подрядчику и типовые ошибки при выборе стека

Какие вопросы задать подрядчику о выборе технологии

Эти вопросы показывают, выбирает ли студия стек под вашу задачу или под свою команду:

  1. Почему для моего проекта вы предлагаете именно эту технологию и в каком случае посоветовали бы другую?
  2. Какие функции приложения потребуют нативного кода и заложены ли они в смету?
  3. Какие сторонние библиотеки и плагины критичны и что будет, если их перестанут поддерживать?
  4. Как будут работать push-уведомления, платежи и публикация в RuStore?
  5. Сколько стоит поддержка в год и как часто нужно обновлять приложение под новые версии iOS и Android?
  6. Если через два года мы захотим сменить подрядчика или нанять свою команду, насколько легко будет найти разработчиков на этот стек?
  7. Покажите проекты на этой технологии, которые вы поддерживаете дольше года.

Хорошая команда, которая делает разработку мобильных приложений на нескольких стеках, спокойно ответит на все вопросы и назовёт ограничения своей рекомендации. Настораживает, если на любой проект предлагается одна и та же технология без объяснений.

Типовые ошибки при выборе стека

  • Выбор по моде или по отзыву знакомого. «У конкурента натив, значит, и нам надо» — без анализа требований.
  • Натив «на вырост» для MVP. Двойной бюджет на гипотезу, которая может не подтвердиться. Для проверки спроса кроссплатформы почти всегда достаточно.
  • Кроссплатформа для задач, где она упирается в потолок. AR, сложная работа с BLE в фоне, обработка видео — здесь экономия превращается в бесконечные доработки.
  • Игнорирование найма. Стек выбирают, не думая, кто будет поддерживать приложение через три года, если студия уйдёт с проекта.
  • Экономия на обновлениях. Приложение не обновляли два-три года, фреймворк ушёл вперёд, и простая доработка превращается в миграцию.
  • Код и аккаунты у подрядчика. Любая технология бесполезна, если исходники, ключи подписи и аккаунты разработчика в сторах оформлены не на вас.

Чек-лист: как выбрать технологию мобильного приложения

  • Определите платформы: iOS и Android, одна из них, нужна ли веб-версия или ОС Аврора.
  • Выпишите функции, завязанные на железо: камера, BLE, NFC, AR, фоновая геолокация, носимые устройства.
  • Решите, нужно ли присутствие в App Store, Google Play и RuStore или достаточно PWA.
  • Оцените, что уже есть: веб на React, нативное приложение, своя команда разработки.
  • Для MVP и типового бизнес-приложения по умолчанию рассматривайте Flutter или React Native.
  • Для финтеха, тяжёлой графики, AR и глубокой работы с устройствами — натив или KMP с нативными модулями.
  • Попросите подрядчика обосновать выбор и указать, какие функции потребуют нативного кода.
  • Сравните сметы целиком: бэкенд, дизайн, тестирование, публикация и поддержка на год.
  • Проверьте, что исходный код, ключи подписи и аккаунты разработчика будут оформлены на вашу компанию.

Итог: на чём писать мобильное приложение в 2026 году

Для большинства бизнес-приложений — магазинов, сервисов, программ лояльности, личных кабинетов и MVP — разумный выбор по умолчанию: кроссплатформа на Flutter или React Native. Flutter чаще выигрывает в новых продуктах с фирменным дизайном, React Native — там, где уже есть веб на React и своя команда. Нативная разработка оправдана для тяжёлой графики, AR, работы с внешними устройствами и продуктов с жёсткими требованиями безопасности. Kotlin Multiplatform стал стабильным вариантом для команд с сильной Android-экспертизой и для постепенного перехода с натива. PWA подходит, когда сторы не нужны, а функциональность ограничивается возможностями браузера. Решение стоит принимать на этапе аналитики, по списку функций и планам на три-пять лет, а не по тому, какую технологию знает подрядчик.

Частые вопросы
Это приложение, написанное специально под одну операционную систему её официальными инструментами: под iOS на Swift, под Android на Kotlin. Оно работает максимально быстро и сразу получает доступ ко всем функциям телефона, но для двух платформ нужно два отдельных приложения. Кроссплатформенное приложение, наоборот, пишут один раз на Flutter, React Native или Kotlin Multiplatform и выпускают сразу в оба магазина.
В типовом бизнес-приложении пользователь разницы не заметит: оба фреймворка после перехода Flutter на движок Impeller, а React Native на New Architecture работают близко к нативным приложениям. Flutter стабильнее держит плавность в сложных анимациях и длинных списках, так как рисует интерфейс сам. Выбирать между ними стоит по команде, дизайну и планам развития, а не по бенчмаркам.
Да, Flutter собирает iOS, Android и веб из одной кодовой базы, React Native даёт веб-версию через отдельную библиотеку React Native Web. Но веб-версия из мобильного кода подходит скорее для личных кабинетов и внутренних сервисов. Для публичного сайта с SEO обычно делают отдельный веб-проект с общим API.
Kotlin Multiplatform — технология JetBrains, которая позволяет писать общую бизнес-логику на Kotlin для Android и iOS, а интерфейс оставлять нативным или делать общим на Compose Multiplatform. Общая логика стабильна с конца 2023 года, общий интерфейс на iOS — с мая 2025 года. Главные ограничения — пока меньше готовых библиотек и специалистов, чем у Flutter и React Native.
Да, магазины не проверяют технологию, на которой написано приложение, они оценивают функциональность, дизайн и соответствие правилам. Проблемы возникают у простых обёрток сайта без собственной ценности: Apple такие приложения отклоняет. Нормально сделанное Flutter- или React Native-приложение проходит модерацию так же, как нативное.
Можно, но это почти всегда переписывание клиентской части, бэкенд и API при этом сохраняются. Снизить риск помогают постепенный переход по модулям и чистая архитектура с отделённой бизнес-логикой. Поэтому технологию выгоднее выбрать правильно на старте, исходя из функций на три-пять лет вперёд.
Flutter разработка приложений
Поможем с этой задачей под ключ — от идеи до результата. Рассчитаем стоимость и сроки под вашу задачу.
Читать подробнее
Услуги по теме
Соберём мобильное приложение на Flutter: один код на Dart под iOS, Android и web одновременно. Единый интерфейс, экономия бюджета и сроков против двух нативных команд, публикация в App Store, Google Play и RuStore. Фикс-смета в договоре, исходники остаются вашими.
Нативная и кроссплатформенная разработка приложений для iOS и Android: от MVP до сложных сервисов с интеграциями. Публикуем в App Store, Google Play и RuStore. Фикс-смета, поэтапная оплата 50/50, исходный код передаём вам.
Нативные приложения для iOS на Swift и SwiftUI: iPhone и iPad, публикация в App Store под ключ, прохождение модерации Apple. Фикс-смета, поэтапная оплата 50/50, исходный код передаём вам.
Нативная разработка приложений для Android на Kotlin и Jetpack Compose. Публикуем в RuStore и Google Play, подключаем оплату по российским правилам. Фикс-смета, поэтапная оплата 50/50, исходный код передаём вам.