Почему мобильное приложение на Flutter — хорошая идея для бизнеса
Мобильная разработка на Flutter набирает популярность. Разберём, флаттер — это технология, которая может заменить нативные подходы в 2025 году. Кроссплатформенные приложения — это давняя мечта любого бизнеса, потому что, если сравнить эти два подхода, отдельные (нативные) приложения для iOS и Android значительно дороже в разработке и поддержке.
В 2018 году команда Surf серьезно взялась за развитие кроссплатформенного направления. К лучшим практикам мы движемся все 14 лет, но именно в текущих условиях решением номер один для ритейла, финтеха и ecommerce стал Flutter. Преимущества этой кроссплатформы мы и рассмотрим ниже.
Кроссплатформа бывает разной
Говоря простым языком, кроссплатформа — это набор инструментов (фреймворк), который позволяет создать приложение, подходящее сразу для iOS и Android. На первый взгляд звучит замечательно. На деле свои возможности и ограничения есть у каждого фреймворка. Их немало: React Native, Xamarin, PhoneGap, Titanium, Ionic, Flutter — самые популярные. Подробно сравнили Flutter и React Native в этой статье.
Идеальная кроссплатформа должна соответствовать двум требованиям:
- быть экономичной с точки зрения разработки;
- обеспечивать качественный пользовательский опыт.
Экономичность. Выгода не только в том, чтобы сделать одно приложение вместо двух. Хорошо бы также поймать минимум проблем при адаптации на каждую из платформ. С этим все в порядке у большинства фреймворков, если рассматривать их в контексте простых приложений.
Проблемы начинаются, когда приложение обрастает функциями и неизбежно усложняется (к этому приходит любой продукт на стадии развития).
Пользовательский опыт. Важно, чтобы пользователи воспринимали кроссплатформенное приложение как нативное — то есть как будто бы оно написано специально для этой платформы. Как минимум там должны быть плавные анимации, характерные для данной ОС элементы интерфейса, работа с жестами. И вот с этим плохо у всех, кроме Flutter.
Часто кроссплатформа выглядит как более продвинутая мобильная версия сайта в обертке приложения. Анимации тормозят, используются непривычные элементы интерфейса с непредсказуемым поведением.
Все это ухудшает пользовательский опыт, как следствие понижает оценки в сторах и retention (показатель возврата пользователей в приложение). Во Flutter такой проблемы нет, ровные анимации — его преимущество, можно без проблем использовать привычные и удобные для пользователя нативные элементы.
Flutter: плюсы и минусы для бизнеса
Flutter — это свежий взгляд Google на кроссплатформу. При всей очевидности экономической выгоды даже для объемных задач технология относительно новая (2018 год), из-за чего многие разработчики не спешат ее использовать.
Рассмотрим Flutter плюсы и минусы: кроссплатформенность, высокая скорость разработки, меньшая стоимость — и возможные ограничения.
Однако в Surf не привыкли пасовать перед трудностями. Мы выбрали Flutter за его удобный инструментарий, простоту создания анимаций и компонентов UI, не уступающих нативным приложениям по скорости загрузки.
Сама по себе технология будто специально создана для проработки микровзаимодействий, которые создают ощущение комфорта и обеспечивают качественный UX. Основные преимущества Flutter — это единый код для iOS и Android, высокая производительность, поддержка Google и богатая экосистема.
Конструктор, натив и кроссплатформа Flutter
Для тех, кому надо оперативно и антикризисно, уже придуманы конструкторы. Такой софт (Mobincube, Imshop.io и другие) позволяет сделать приложение быстро и дешево.
Но он не подходит для проектов, где важна гибкость, производительность, есть сложные интеграции и бизнес-процессы (например, 6–7 вариантов оформления заказа в мобильной аптеке «Ригла»), где планируются регулярные обновления.
Конструктор — отличное решение для небольшой сети ресторанов, но окажется крайне неудобен для интернет-магазина с оборотом более 1 млн в месяц. В масштабах конструкторы теряют смысл: доработка по индивидуальным требованиям конкретного продукта становится необходимым условием, и выгода от конструктора уже не очевидна ни в бюджете, ни в сроках.
Поэтому сейчас мы все чаще наблюдаем, как крупные торговые компании отказываются от использования коробочных решений и создают собственные мобильные продукты. Рынок подтверждает, что быстрое решение не может быть постоянным.
Нативные приложения (написанные на родных языках ОС — Swift для iOS и Kotlin для Android) не имеют серьезных минусов, но требуют значительных затрат на разработку и поддержку. Вам придется создавать бизнес-логику, верстку и интерфейс с учетом особенностей каждой платформы. Все это скажется на бюджете проекта.
Кроссплатформенное приложение на Flutter обладает достоинствами нативной разработки и позволяет переиспользовать большую часть кода между различными платформами, что позволит сэкономить, по нашим подсчетам, до 40% бюджета.
То есть во Flutter мы экономим время разработчиков не только на том, что пишем один код вместо двух, но и многие фичи берем прямо из коробки, и оптимизированный процесс работы с анимациями не идет ни в какое сравнение нативной разработкой.
Особенно любимая программистами функция hot reload собирает приложение из виджетов буквально за секунды. В зависимости от сложности и самобытности проекта все это дает от 20 до 50% экономии времени, которое можно направить на разработку других полезных функций.
Native vs мультиплатформа vs реальность
Выбор фреймворка зависит от многих факторов, начиная с имеющихся ресурсов, заканчивая особенностями конкретного приложения. На сайте Google приведены три основных достоинства Flutter — посмотрим на них критически.
- Если сравнивать с двумя нативными приложениями, то разработка идет на 20–50% быстрее. Скорость зависит от сложности интерфейса и необходимых функций.
- Если разработчик понимает, с какой стороны подступиться к задаче.
- Если вам нужно не только срочно запустить приложение, но и ускорить дальнейшее развитие.
- Flutter позволяет реализовать нативный «look and feel», но прописывать UI-элементы придется вручную. Фреймворк сам настроит шрифты, физику скроллов жесты навигации и прочее.
- Пользователи Apple находят небольшие отличия в UI (анимации, динамика).
- Flutter идеально подходит для унифицированного UI/UX. Вы можете мимикрировать под нативные приложения и пользоваться привычными анимациями. Конечный пользователь не заметит разницы, если все виджеты будут настроены правильно.
- Большинству современных приложений не требуется сложная логика. Запросы на сервер, работа с файлами и API платформы — все это во Flutter выполняется асинхронно и не ухудшает производительность приложения.
- Команда Flutter заботится о быстродействии фреймворка. У него собственный графических движок, оптимизация в котором близка к нативной. Изображения меняются со скоростью до 60 кадров/с, что отлично воспринимается человеческим глазом.
- На Flutter не получится сходу написать приложение, которое будет идеально работать на любом устройстве, любого года выпуска. Потребуются тесты, правки — все как на любом нативном фреймворке.
Почему бизнес выбирает Flutter и Dart: разработка дешевле
Основу фреймворка составляет Dart язык программирования, который компилируется в нативный код и обеспечивает плавную работу интерфейса.
Чтобы было проще оценить преимущества Flutter перед нативом, приведем ход разработки проекта без платформозависимых функций. Например, небольшой магазин или программа лояльности с каталогом.
Представим, что один и тот же проект разрабатывают параллельно две компании с идентичными подходами к работе и квалификацией инженеров.
Трудоемкость считаем в идеальных днях. Разработка идет в два этапа:
- запуск MVP (минимально жизнеспособного продукта) — 15–17 недель;
- последующее развитие — 3 двухнедельных спринта.
Получается, что Flutter в данном примере экономит нам 45,6% на разработке, 70,5% на QA с учетом использования автотестов в обеих командах, а также 33,3% на дизайне приложения.
Конечно, проекты бывают разные. Где-то Flutter может сберечь 15% бюджета, а где-то до 50%. Кроме того, возможно календарное преимущество при проектировании, так как вам не нужно синхронизировать логику между платформами. В Surf такие вещи обсуждаются до подписания, клиент заранее узнает преимущества и недостатки кроссплатформенных решений. О ценах, сроках и примерах приложений на Flutter больше рассказали тут.
Flutter продолжает приносить выгоду и на этапе развития: команда меньше, релизные циклы проще, скорость выхода на рынок (time-to-market) сокращается.
Когда появление новых функций в приложении происходит быстрее, продукт получает существенную фору в развитии и потенциально принесет больше денег. На менеджменте и бизнес-аналитике сэкономить не получится. Оба направления займут специалиста на стандартные три месяца.
Этап развития
После релиза MVP начинается этап развития, на котором у Flutter-команды добавление новых функций, по нашим подсчетам, происходит на 20% быстрее. Достигается это преимущество за счет тестирования.
Flutter: плюсы и минусы для мобильного бизнеса
Плюсы:
Наличие автотестов, хорошее покрытие UI и бизнес-логики у Flutter уменьшает шанс того, что нововведения «сломают» что-то в текущей версии.
Если в течение тестового прогона на iOS будет найдена ошибка в логике, разработчик исправляет ее один раз, и во время тестов приложения под Anrdoid проблема уже не всплывет. В условия нативной разработки набор ошибок будет разным, что потребует больше ресурсов на правки.
Минус:
Потребуется больше устройств, но это незначительно отражается на бюджете.
В среднем на Flutter будет в полтора раза меньше ошибок, чем на нативной разработке. Также вам понадобится всего один итоговый прогон. Разумеется, тесты функций, завязанных на железо устройства, придется прогнать на обеих платформах (iOS и Android). К примеру, сканер штрих-кодов, использующий камеру телефона.
С преимуществами разобрались, а что насчет областей применения?
Какие продукты можно реализовать на Flutter
Кратко — любые. Сейчас Flutter широко используется для создания приложений в Alibaba, «Яндекс», Airbnb, Uber и других крупных компаниях. Мы считаем, что фреймворк лучше всего подходит для среднего и крупного бизнеса.
(Малому бизнесу Flutter не противопоказан, но полноценное мобильное приложение — это значительный бюджет, поэтому тут скорее выберут дешевое коробочное решение.)
С помощью Flutter можно создать приложения для:
- различного ритейла (программы лояльности, каталог, онлайн-магазин);
- банков и финтеха (работа с малым бизнесом);
- поставщиков и франчайзи;
- крупного бизнеса (контакт-центры, контроль курьеров, организация внутренних процессов).
Поиски быстрых и выгодных решений привели во Flutter специалистов из разных сфер. Например, Медуза решила отказаться от натива в пользу кроссплатформы, чтобы было легче развивать приложения синхронно. Другие, как команда «Яндекс.Такси», нуждались в оперативном развитии одной из платформ. Больше кейсов на Flutter можно найти в этой статье.
На данный момент у Surf в разработке пять приложений на Flutter для различных отраслей и целей. Мы опросили клиентов, приложения которых уже запущены или еще находятся в разработке. Первое недавно вышло в релиз — приложение для аптечной сети «Ригла».
Заключение
Flutter — не волшебная палочка, но перспективный фреймворк по скорости внедрения и широте охвата. Мы убеждены, что на горизонте 3-х лет он станет основным инструментом для создания мобильных приложений для трети среднего и крупного бизнеса, который перейдёт на Flutter вслед за коллегами из Tencent, Alibaba, «Яндекс» и другими.
Если вы ищете вариант быстрой разработки приложения для iOS и Android с перспективами развития, без серьезных потерь в качестве и бюджете — дайте шанс Flutter уже сейчас, как это сделали Surf и наши клиенты.
Опытом мобильной разработки на Flutter делились клиенты Surf и гости Flutter Dev Podcast нашего тимлида Евгения Сатурова.
Впервые статья была опубликована в блоге Surf на VC.ru
Flutter-разработка для бизнеса
Создадим мобильное приложение для iOS и Android с экономией до 40%