Короткий ответ: если продукт нужен только для Android и должен тесно работать с платформой, начните оценку с Kotlin. Если нужно выпустить Android и iOS с общей кодовой базой, сравните Flutter и React Native на прототипе ключевого сценария. Выбор подтверждают не модные рейтинги, а требования продукта, доступность нужных SDK и план поддержки.
Какие варианты сравниваем
Условно есть три практических направления: Kotlin для Android-разработки; Flutter для кроссплатформенного приложения; React Native для мобильных приложений на React с платформенными компонентами. Google называет Android-разработку Kotlin-first и рекомендует Kotlin как стартовый вариант для новых Android-приложений. Flutter описывает общую кодовую базу для разных платформ и возможность подключать платформенные интеграции. React Native использует React-подход, а его документация рекомендует применять фреймворк вроде Expo для новых приложений.
| Подход | Когда рассматривать | Что проверить до выбора |
|---|---|---|
| Kotlin | Продукт сначала и прежде всего для Android; нужны Android-специфичные функции и контроль над нативным поведением. | Требования к Android API, устройство команды и план, если позже потребуется iOS-версия. |
| Flutter | Нужны Android и iOS, а общий интерфейс и логика продукта позволяют поддерживать совместную кодовую базу. | Наличие и качество плагинов для платежей, уведомлений, карт, сканеров и других обязательных SDK; платформенный прототип. |
| React Native | Команда уверенно работает с React/JavaScript и нужен общий мобильный продукт для нескольких платформ. | Поддержку нужных нативных модулей, требования к сборке и различия поведения Android/iOS. |
Когда логичен Kotlin
Выбирайте Kotlin как базовый вариант, если Android — основной рынок, а ключевые сценарии опираются на возможности самой платформы. Android Developers описывает Android как Kotlin-first и указывает, что новые приложения рекомендуется начинать с Kotlin. Это рекомендация экосистемы Android, а не обещание, что любой проект на Kotlin будет дешевле или быстрее.
До оценки уточните, нужны ли Bluetooth/NFC, фоновые задачи, камера, геолокация, складские сканеры, работа без сети или интеграция с существующим Android-кодом. Список функций и устройств иногда важнее сравнения языков.
Когда сравнить Flutter и React Native
Если в плане есть Android и iOS, кроссплатформенный подход может дать общей части продукта один кодовый контур. Но это не означает, что системные различия исчезают. Flutter официально описывает интеграцию с платформенными функциями через плагины и собственный код. React Native строит интерфейс из примитивов, сопоставляемых с нативными компонентами, и при необходимости допускает платформенный код.
Поэтому соберите небольшой прототип именно для самого рискованного места: оплаты, push, карты, входа, сканирования или обмена данными с сервером. Не ограничивайтесь демонстрацией экранов: проверьте реальные устройства, сетевые ошибки и обновление версии.
Четыре вопроса перед выбором технологии
- Какие платформы нужны на первом запуске? Только Android или Android и iOS — это меняет сравнение.
- Какие функции устройства обязательны? Составьте список API, SDK и моделей устройств, на которых они должны работать.
- Какие интеграции критичны? Запишите платежный сервис, CRM/1С, push, карты, авторизацию и формат обмена; совместимость каждого варианта проверяйте отдельно.
- Кто будет поддерживать продукт? Оцените доступные навыки команды, обновление библиотек, тестирование и сопровождение после запуска.
Публикация в Google Play и App Store — отдельная часть плана
Технологию нужно выбирать вместе с планом сборки, тестирования и публикации. Google Play Console ведёт настройку карточки, проверок и релиза; Play использует Android App Bundles для подготовки вариантов приложения под устройства. Для iOS Apple App Store Connect требует выбрать сборку, заполнить обязательные сведения и отправить приложение на проверку. Детали аккаунта, сборки и проверки стоит закладывать в проект заранее.
Как принять решение без гадания
Сделайте короткий документ: платформы, пять ключевых пользовательских сценариев, список интеграций, устройства и требования к данным. Затем сравните стек-кандидаты на одном прототипе с одинаковыми критериями: работает ли сценарий, проходят ли ошибки, доступны ли нужные SDK и можно ли тестировать сборку на целевых устройствах. После этого можно оценивать объём и бюджет; до такого разбора фиксированная цена или срок были бы догадкой.
Подбираете технологию для бизнес-приложения?
Разберём платформы, ключевые сценарии и интеграции до того, как фиксировать состав первой версии.
Для первичного обсуждения можно написать в WhatsApp и описать задачу, целевые платформы и обязательные интеграции.
Официальные технические источники: Kotlin-first подход Android; интеграция Flutter с платформами; React Native; настройка приложения в Google Play Console; публикация через App Store Connect.