Сравнение

Flutter или нативная разработка: как выбрать для вашего приложения

Для большинства бизнес-приложений достаточно Flutter: один код работает на iOS и Android, и вы платите за одну разработку, а не за две. Натив на Swift и Kotlin нужен, когда приложение глубоко зависит от возможностей конкретной платформы: сложная работа с камерой, Bluetooth, фоновыми режимами, виджетами или часами. Мы пишем на Flutter и, когда задача требует, на нативном коде.

Коротко: что выбрать

Ваша ситуацияЧто выбрать
Приложение для клиентов или сотрудников: заказы, чат, карта, оплата, личный кабинетFlutter
Нужно проверить идею на обеих платформахFlutter
Бюджет ограничен, а платформ двеFlutter
Глубокая работа с оборудованием: Bluetooth, NFC, камера в реальном времениFlutter с нативными модулями или натив
Приложение для часов, виджеты, функции новой версии iOS в день её выходаНатив или Flutter с нативными модулями
Тяжёлая графика, 3D, игры с собственным движкомИгровой движок или натив
У вас уже есть нативная команда и приложениеПродолжать на нативе

Выбираем по задаче. Если вашему проекту лучше подходит натив, так и скажем.

Что такое Flutter

Flutter — инструмент от Google для разработки приложений. Один код превращается в приложение для iOS и для Android. Интерфейс рисуется внутри самого приложения, поэтому выглядит одинаково на обеих платформах. Если нужно, часть кода пишется нативно и подключается к Flutter-приложению.

На Flutter сделаны наши приложения: MyPulso (клиент и тренер) и приложение водителя TruckFuel. Они опубликованы в App Store и Google Play. Кейсы: /keisy/mypulso, /keisy/truckfuel.

Сколько это стоит

На Flutter мобильное приложение для iOS и Android начинается от 800 000 ₽, чаще 800 000 – 1 300 000 ₽. Цены и что на них влияет: /ceny.

Цену нативной разработки мы не публикуем: она зависит от того, пишем ли одну платформу или две. Две отдельные кодовые базы почти всегда дороже одной, потому что каждую функцию нужно сделать и проверить дважды. Точную цифру посчитаем после разбора задачи.

Поддержка двух платформ

Во Flutter вы поддерживаете один код. Новая функция выходит на обе платформы сразу, ошибку исправляем в одном месте. При обновлениях iOS и Android нужно проверять приложение на обеих системах, но править в одном проекте.

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

Когда натив обязателен

Нативный код нужен, когда:

  • приложение работает с оборудованием, которое Flutter не покрывает готовыми пакетами;
  • нужны функции платформы, которые появились недавно и ещё не доступны через Flutter;
  • приложение для часов, виджеты экрана блокировки, расширения системы;
  • важна максимальная производительность графики;
  • в организации действуют требования, которые запрещают сторонний фреймворк.

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

Что мы делаем

Основной стек для мобильных приложений — Flutter. Если проекту нужны Swift или Kotlin, пишем на них. Если нужна только iOS или только Android, делаем приложение под одну платформу. Публикацию в App Store и Google Play берём на себя.

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

Flutter подходит для бизнес-приложений?

Да. Заказы, личные кабинеты, чаты, карты, уведомления и оплата делаются на нём без нативного кода.

Приложение на Flutter будет выглядеть как нативное?

Да, если заложить это в дизайн. По умолчанию Flutter рисует интерфейс одинаково на обеих платформах. Там, где у пользователей iOS и Android разные привычки, делаем элементы под каждую платформу.

Придётся ли переписывать приложение, если Flutter перестанет подходить?

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

Вы пишете нативные приложения на Swift и Kotlin?

Да, когда задача этого требует.

Что дешевле: Flutter или два натива?

Flutter, если платформ две и функции у них одинаковые. Для одной платформы посчитаем по вашему списку экранов.

Принимаете чужие приложения на доработку?

Да. Сначала разбираем код, потом решаем, что нарастить, а что пересобрать.

Позвать нас

Опишите задачу в Telegram @demda или в форме на главной. Подскажем, какой вариант подходит, и посчитаем. Ответим в течение рабочего дня.

Ответим в течение рабочего дня. Без спама и обязательств.