Сравнение
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 или в форме на главной. Подскажем, какой вариант подходит, и посчитаем. Ответим в течение рабочего дня.