Syntra Systems
Кейсы Услуги Продукты О нас Блог IT Caravan
+998 70 010 68 44 +7 999 900 22 12
RusEngUzb
Смартфон с пустым экраном на тёмном фоне: выбор между нативной и кроссплатформенной разработкой
Мобильные

Нативная или кроссплатформенная разработка: что выбрать бизнесу

Автор: Даниил Беляев · · 9 мин чтения

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

Коротко

  • Кроссплатформенная разработка на Flutter или React Native подходит большинству бизнес-приложений: каталогам, заказам, записи и личным кабинетам.
  • Нативная разработка оправдана, когда приложение постоянно работает с камерой, датчиками, Bluetooth или NFC либо должно получать новые функции iOS и Android в день выхода.
  • Решение принимают по списку функций и интеграций: для каждой проверяют, есть ли поддерживаемый плагин, API или веб-страница или придётся писать нативный код.
  • Взносы магазинов и требования к обновлениям под новые версии Android и iOS одинаковы для обоих подходов, а кроссплатформа экономит на доработках.
  • В Узбекистане большая часть мобильного веб-трафика приходится на Android, но стартовую платформу выбирают по устройствам платящих клиентов.

Нативная и кроссплатформенная разработка: в чём разница

Нативное приложение пишут отдельно под каждую систему, кроссплатформенное собирают из одной кодовой базы для обеих. Нативная разработка — это два приложения, на Kotlin для Android и на Swift для iOS, и каждое обращается к системным интерфейсам напрямую, без промежуточных слоёв.

Кроссплатформенная разработка — это одна кодовая база плюс платформенный слой, из которых собираются приложения для iOS и Android. Flutter пишут на Dart, React Native — на JavaScript или TypeScript, Kotlin Multiplatform — на Kotlin.

Граница между общим и платформенным кодом зависит от функций: чем больше их завязано на конкретное устройство, тем больше кода придётся писать отдельно под каждую систему. Сам проект в обоих случаях проходит одни и те же этапы: аналитика, дизайн, разработка приложения для iOS и Android, тестирование и публикация.

Что лучше: нативная или кроссплатформенная разработка

Универсального победителя нет: кроссплатформа выигрывает по срокам и стоимости поддержки, нативная разработка — по доступу к устройству и скорости работы с новыми версиями систем. Сравнивайте подходы по параметрам, которые попадут в смету и в план поддержки.

КритерийНативная разработкаКроссплатформенная разработка
Кодовая базаДве: Kotlin для Android, Swift для iOSОдна общая плюс платформенный слой
Выход на обе платформыДольше: каждая функция делается дваждыБыстрее: одна реализация на обе платформы
Доступ к функциям устройстваПрямой, к любым системным интерфейсамЧерез готовые плагины или собственный нативный модуль
ИнтерфейсСистемные компоненты и правила каждой платформыОбщий дизайн, платформенные детали настраиваются отдельно
КомандаРазработчики Android и iOS, два набора тестовОдин основной стек плюс нативные навыки для плагинов
Новые возможности iOS и AndroidДоступны сразу с выходом инструментов разработчикаПосле поддержки во фреймворке или через свой нативный модуль
Поддержка после запускаКаждая правка делается и тестируется дваждыОдна правка выходит на обе платформы
Главный рискБюджет и срокиЗависимость от фреймворка и сторонних плагинов

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

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

В таких проектах кроссплатформенный фреймворк всё равно придётся дополнять нативными модулями под обе системы, и экономия исчезает.

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

Кроссплатформенный подход выигрывает, когда приложение по сути остаётся интерфейсом к вашим данным и процессам.

Работа с устройством в таких приложениях обычно сводится к камере для QR-кодов, геолокации и push-уведомлениям. Для этих функций у Flutter и React Native есть готовые плагины, поэтому нативного кода остаётся немного.

Flutter, React Native или Kotlin Multiplatform

Выбирайте инструмент по тому, что должно стать общим: во Flutter это интерфейс и логика, в React Native — логика на JavaScript за системными компонентами, в Kotlin Multiplatform — бизнес-логика, а интерфейс остаётся на ваше усмотрение.

ИнструментЯзыкКак строится интерфейсКогда подходит
FlutterDartРисуется собственным движком, одинаково на всех устройствахВажны единый фирменный интерфейс и предсказуемая анимация
React NativeJavaScript или TypeScriptИз системных компонентов iOS и AndroidВ компании есть веб-команда на JavaScript и общая с сайтом логика
Kotlin MultiplatformKotlinНативный на каждой платформе или общий на Compose MultiplatformУже есть нативное Android-приложение или интерфейс должен остаться родным для платформы

Две известные причины подтормаживаний кроссплатформенных приложений устранены в самих фреймворках. Flutter рисует интерфейс движком Impeller, который компилирует шейдеры заранее, а не во время работы приложения: на iOS это движок по умолчанию, на Android — с версии 3.27 на устройствах с API 29 и выше. В React Native 0.76 новая архитектура стала режимом по умолчанию: асинхронный «мост» между JavaScript и нативным кодом заменён прямыми вызовами через JSI.

Google официально поддерживает Kotlin Multiplatform для общей бизнес-логики Android и iOS, а с Compose Multiplatform от JetBrains общим можно сделать и интерфейс. Переписывать приложение целиком для перехода не нужно: общий код добавляют постепенно.

Совет Выбирайте инструмент, под который в вашем городе можно найти разработчика на замену: приложение переживёт нескольких специалистов. Перед решением посмотрите свежие вакансии и резюме по каждому фреймворку.

Сколько кода будет общим и где всё равно нужен нативный

Обещание «один код на две платформы» верно для экранов и бизнес-логики, но не для каждой системной функции. Если нужной возможности нет в готовых плагинах, разработчик пишет платформенный модуль: код на Kotlin для Android и на Swift для iOS. Во Flutter для этого есть платформенные каналы, в React Native — нативные модули.

Поэтому считайте не долю общего кода, а список функций, для которых плагина нет. Обычно это системы управления корпоративными устройствами, оборудование вроде весов, принтеров чеков и сканеров, а также SDK партнёров, выпущенные только для одной платформы.

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

Что учесть на рынке Узбекистана

На выбор влияют четыре местные особенности: устройства клиентов, платежи, Telegram и язык интерфейса. Первое — устройства. По данным StatCounter за август 2026 года, на Android пришлось около 83 % просмотров веб-страниц с мобильных телефонов в Узбекистане, на iOS — около 17 %. Это доля трафика, а не число устройств, но перекос заметный: многим продуктам разумно выйти сначала на Android и добавить iOS вторым шагом.

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

Второе — платежи. Документация Payme по-прежнему ссылается на официальный Android SDK, но его репозиторий 2 августа 2023 года переведён в архив, а SDK для iOS нет. Карту в приложении привязывают через клиентские методы Subscribe API или открывают страницу оплаты Payme с адресом возврата после оплаты. Оба способа работают из общего кода без нативного модуля, а подтверждение оплаты ваш сервер получает напрямую от Payme.

Третье — Telegram. Запись, заказы и уведомления можно вынести в личный кабинет внутри Telegram: без установки из магазина и без ежегодных взносов. Так мы сделали регистрацию на UzFranchise Expo: гости регистрировались на трёх языках и получали QR-билеты прямо в чате бота. Бот для заявок и записи мы делаем от 1 200 $, поэтому сравните этот вариант с приложением, прежде чем утверждать бюджет.

Четвёртое — язык интерфейса. Приложению для местного рынка обычно нужны узбекский и русский, часто ещё английский. В общей кодовой базе строки переводятся один раз, в нативном проекте — отдельно для Android и iOS, и расхождения между версиями приходится вылавливать вручную.

Что влияет на бюджет после запуска

Разработка — только первый платёж. Дальше приложение живёт по правилам магазинов: взносы и требования к обновлениям одинаковы для любого подхода, а стоимость доработок — нет.

Важно С 31 августа 2026 года Google Play принимает новые приложения и обновления только с целевым уровнем Android 16 (API 36), а уже опубликованные приложения должны быть нацелены минимум на API 35, иначе их не увидят новые пользователи на более свежих версиях Android. Продлить срок можно по запросу до 1 ноября 2026 года. Apple с 28 апреля 2026 года принимает только сборки из Xcode 26 с SDK iOS 26.

Как выбрать подход: порядок действий

Начинайте не с фреймворка, а со списка того, что приложение должно делать.

  1. Выпишите сценарии пользователя: что человек делает в приложении и как часто.
  2. Отметьте функции, которые обращаются к устройству: камера, геолокация, Bluetooth, NFC, фоновые задачи.
  3. Проверьте каждую внешнюю интеграцию по чек-листу выше: плагин, API, состояние SDK.
  4. Посчитайте стоимость владения на два года вперёд, а не только цену первой версии.
  5. Выберите стартовую платформу по устройствам платящих клиентов.
  6. Зафиксируйте решение в техническом задании вместе с критериями приёмки.

Мы в Syntra Systems проходим эти шаги вместе с заказчиком до оценки. Если функции обращаются к устройству редко, а обе платформы нужны сразу, собираем кроссплатформенное приложение и оставляем нативными только те места, где без этого не обойтись. Если приложение в основном работает с камерой, датчиками и модулями связи, делаем его нативно и не тратим бюджет на промежуточные слои.

Дальше ведём проект одной командой: интерфейс, бэкенд, интеграции с CRM и платёжными системами, публикация в обоих магазинах и поддержка после запуска.

Обсудим вашу задачу

Расскажите, что нужно сделать, — оценим сроки и стоимость и предложим решение.

Обсудить разработку приложения

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

Можно ли потом переписать кроссплатформенное приложение на нативное?

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

Заметит ли пользователь, что приложение кроссплатформенное?

В типичном бизнес-приложении со списками, формами и уведомлениями разницу замечают редко. Она проявляется в сложной анимации, при долгой работе камеры и когда система получает новую функцию, которую фреймворк ещё не поддерживает.

Чем кроссплатформенное приложение отличается от гибридного?

Гибридное приложение показывает веб-страницы внутри встроенного браузера (WebView). Flutter и React Native собирают полноценное приложение: Flutter рисует интерфейс своим движком, React Native выводит системные компоненты. Гибридный подход позволяет переиспользовать сайт, но сильнее ограничен возможностями браузера.

Пропустят ли в App Store приложение на Flutter или React Native?

Фреймворк сам по себе на проверку не влияет. Отказы связаны с содержанием: приложение не даёт ничего сверх сайта, нарушает правила оплаты или не объясняет, зачем ему запрошенные разрешения.

Как принимать оплату через Payme в приложении для iPhone?

Готовой библиотеки Payme для iOS нет, а репозиторий для Android с августа 2023 года в архиве. Поэтому карту привязывают через методы Payme прямо из приложения или открывают страницу оплаты Payme с возвратом в приложение. Оба способа работают в общем коде для iOS и Android, а подтверждение оплаты приходит на ваш сервер напрямую от Payme.

Нужен ли мобильному приложению отдельный бэкенд?

Каталог, заказы, профили и уведомления хранятся на сервере, а приложение только показывает эти данные. Сервер с базой и резервными копиями нужен при любом подходе и оплачивается отдельно от магазинов приложений. Если у бизнеса уже есть сайт или CRM, приложение подключают к ним, а не строят вторую систему с нуля.

Если приложение для Android уже есть, придётся ли переписывать его ради iPhone?

Существующее Android-приложение можно сохранить: Google официально поддерживает Kotlin Multiplatform — способ писать общую логику, например расчёты и работу с сетью, один раз для Android и iOS. Общий код добавляют постепенно, по частям, без переписывания приложения целиком.

Как понять, что подрядчик выбрал подход обоснованно?

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

Фото на обложке: Arpit Brandings, Pexels

Читайте также