Хотите приложение и для iOS, и для Android? Бюджет ограничен. Знакомо? Кросс платформенная разработка помогает сэкономить 30-40% – и это реальные цифры из наших проектов. Но подходит она не каждому.

Мы в KOTELOV занимаемся кросс платформенной разработкой с 2018 года. Пилим и нативные приложения на Swift с Kotlin. Были проекты, где Flutter выстрелил просто отлично. Были и такие, где без натива никуда. Давайте разберёмся, какой подход нужен вам.

30-40%

экономия бюджета

70-90%

переиспользование кода

95%

производительность от нативной

с 2018

опыт KOTELOV

Что вообще такое кросс платформенная разработка

Идея проста до безобразия. Пишете код один раз – получаете приложения для iOS и Android. Иногда ещё и для веба.

Помните PhoneGap и Cordova? Были такие попытки. Работало не очень. Тормозило, выглядело как подделка, пользователи морщились. Зато потом всё изменилось.

React Native от Facebook появился в 2015-м. Flutter от Google — в 2017-м. Kotlin Multiplatform от JetBrains подтянулся в 2019-м. Это уже совсем другая история – принципиально другой подход. Flutter, кстати, компилируется прямо в нативный код и использует движок Skia для отрисовки. React Native работает через мост к нативным компонентам платформы.

Мобильное приложение мессенджера с функциями чатов, групп и управления контактами на iOS

Производительность современных кросс платформенных приложений – примерно 95% от нативных. Разницу заметит разве что разработчик с секундомером, обычный пользователь – нет.

Зачем это нужно и в чём выгода

Деньги. Главный аргумент – вместо двух отдельных команд разработчиков держите одну. Сколько экономим? Стоимость кросс платформенной разработки ниже нативной на 30-40%. На приложении средней сложности это миллионы рублей.

Скорость выхода на рынок тоже радует. Сделали релиз – и сразу две платформы получили обновление. Не нужно ждать, пока iOS-версия догонит Android. Итерации быстрее, гипотезы проверяете оперативнее. Конкуренты нервничают.

А что насчёт поддержки? Нашли баг – починили один раз. Изменения везде. Добавили фичу – сразу у всех пользователей. Попробуйте обеспечить такую синхронность с двумя отдельными кодовыми базами. Сложно ещё как.

Код переиспользуется на 70-90%. Остальное – платформо-специфичные модули. Камера, пуши, биометрия – тут под каждую платформу пишется отдельно, но это небольшая часть общего объёма работы.

Где подвох? Глубокая интеграция с операционной системой, максимальная производительность, сложные нативные функции – здесь кросс платформа может проигрывать. Об этом ниже.

Flutter: что умеет и когда нужен

Flutter – творение Google. Язык Dart под капотом. Учится быстро – похож одновременно на Java и JavaScript.

Главная фишка какая? Собственный движок отрисовки. Flutter не использует нативные компоненты платформы вообще. Рисует всё сам, попиксельно. Отсюда стабильные 60 FPS и свобода в кастомном интерфейсе. Хотите кнопку-облако с градиентом и тенью в форме единорога? Без проблем.

Hot Reload – ещё один козырь. Меняете код – изменения мгновенно в приложении. Пересборки нет. Для дизайнеров и разработчиков это реально экономия часов каждую неделю. Мы замеряли.

Мобильное приложение для буше с 100 000 пользователей и экосистемой

Преимущества Flutter

Высокая производительность (60 FPS), полный контроль над UI, Hot Reload для быстрой разработки, полноценная поддержка веба

Ограничения Flutter

Dart – нишевый язык, найти разработчиков сложнее. Приложение весит больше из-за встроенного движка. Готовых библиотек меньше

Когда Flutter в самый раз? Для приложений с нестандартным UI – тут он раскрывается по полной. Стартапы с ограниченным бюджетом тоже любят Flutter. Ну и MVP для быстрой проверки идеи – отличный выбор.

React Native: другой подход к той же задаче

React Native создали в Meta (тогда ещё Facebook был). JavaScript или TypeScript – на выбор. Есть веб-команда на React? Переход будет почти безболезненным.

Архитектура здесь принципиально другая. React Native использует нативные компоненты платформы через специальный мост. Что это даёт? Кнопка в iOS выглядит как настоящая кнопка iOS. В Android – как настоящая Android. Пользователи получают привычный опыт, никакого чувства подделки.

Сообщество огромное. npm-пакетов – тысячи. Нужна интеграция с какой-нибудь редкой платёжной системой? Скорее всего, уже написали. Найти разработчиков проще: JavaScript знают буквально миллионы людей по всему миру.

Минусы есть. Архитектура с мостом добавляет оверхед. На сложных анимациях или при обработке кучи данных это заметно. Кастомный UI делать труднее. Обновления – отдельная боль. Вышла новая версия React Native — половина зависимостей сломалась. Знакомо всем, кто работал с этим фреймворком.

Сравнение Flutter и React Native

Параметр Flutter React Native
Язык Dart JavaScript/TypeScript
Производительность Выше Хорошая, но с оверхедом
UI Кастомный, рисует сам Нативные компоненты
Сообщество Быстро растёт Огромное
Размер приложения Больше Меньше
Поддержка веба Полноценная Ограниченная
Hot Reload Да Да

Вердикт простой. Flutter берите для кастомного UI и максимальной производительности. React Native – если есть JS-команда и много интеграций.

Когда кросс платформа подходит, а когда нет

Подходит

MVP и стартапы – быстро проверить гипотезу

Ограниченный бюджет – экономия 30-40%

Стандартный UI – каталоги, маркетплейсы

Быстрый выход на рынок

Не подходит

Игры с тяжёлой графикой – нужен Unity или натив

AR/VR приложения – много платформо-специфичного

Глубокая интеграция с железом – BLE, NFC

Критичная производительность – биржевые терминалы

Гибридный подход тоже работает, кстати. 80% на кросс платформе, критичные модули – нативно. Главное – правильно спроектировать архитектуру изначально.

Кросс платформа против натива: честное сравнение

Что сравниваем Кросс платформа Натив
Стоимость Ниже на 30-40% Выше
Время разработки Быстрее Дольше
Производительность 95% от нативной Максимальная
UI гибкость Высокая Без ограничений
Доступ к API платформы Через плагины Полный
Поддержка Одна кодовая база Две кодовые базы

Когда выбрать нативную разработку? Приложение – ядро бизнеса и должно работать идеально. Нужны сложные нативные функции. Планируете поддержку на годы. Целевая аудитория – premium-сегмент, где мелочей не бывает.

В KOTELOV мы помогаем выбрать подход. Есть экспертиза и в Flutter, и в нативной разработке на Swift и Kotlin. Был случай: убеждали клиента отказаться от кросс платформы. И это оказалось правильным решением. Бывало и наоборот.

Кто уже использует кросс платформу

На Flutter работают:

Google Pay

Создатели фреймворка

BMW

Приложение для владельцев автомобилей

Alibaba

Часть функциональности торговой площадки

eBay Motors

Покупка автомобилей

React Native используют:

Facebook и Instagram (запрещены в РФ)

Сами создали, сами пользуются

Uber Eats

Доставка еды по всему миру

Pinterest

Социальная сеть с огромной аудиторией

Shopify

Мобильное приложение для продавцов

История Airbnb интересная. Использовали React Native, потом отказались и перешли на натив полностью. Почему? Специфичные требования к карточкам объектов, анимациям, интеграции с картами. Для их масштаба и требований натив оказался лучше.

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

Сколько стоит кросс платформенная разработка

Грубый расчёт такой: нативная разработка под обе платформы стоит 100%, кросс платформенная – 60-70%.

Ориентировочные цены в KOTELOV:

от 1,5 млн

MVP на Flutter

2-4 млн

Приложение средней сложности

от 5 млн

Сложное приложение с интеграциями

Панель аналитики с графиками метрик и ключевыми показателями эффективности приложения

Что влияет на экономию? Кастомный UI съедает часть преимуществ: нестандартные элементы прорабатываются детально. Много нативных модулей? Тоже минус к экономии. Сложные интеграции с внешними системами добавляют работы.

Для сравнения: приложение с каталогом, личным кабинетом и корзиной при нативной разработке под iOS и Android обошлось от 3 млн рублей. Аналогичное на кросс платформе стоило бы примерно 2 млн. Разница – миллион. Это реальные деньги.

Почему выбирают KOTELOV

Работаем с Flutter и React Native с 2018 года. Набили шишек достаточно. Знаем подводные камни.

Параллельно ведём нативные проекты. Это даёт объективный взгляд: не продаём только кросс платформу, потому что только её и умеем. Рекомендуем то, что реально подходит конкретному проекту.

Дизайн-концепт мобильного приложения магазина мебели

Сеть пекарен буше

Разработали приложение с нуля. Переработали дизайн, добавили сторис, интеграции с системой лояльности – с прицелом на масштабируемость.

195 000+

активных пользователей

Смотреть кейс

S7 Airlines

Приложение для бортпроводников с 20 интеграциями и работой в офлайне. Пошли по пути нативной разработки – требования к офлайн-функциональности и производительности были критичными.

с 60 до 2 минут

сокращено время на отчётность

Смотреть кейс

Полный цикл – от аналитики до публикации в сторах. UX-исследования, дизайн, разработка, тестирование, поддержка.

Итоги

Кросс платформенная разработка – отличный выбор для большинства проектов. Экономия реальная, и качество достойное.

Flutter берите для производительности и кастомного UI. React Native – для команд с JavaScript-экспертизой и проектов с кучей интеграций.

Не уверены, что выбрать?

Напишите нам. Бесплатно разберём проект, посмотрим требования, дадим честную рекомендацию

Обсудить проект