Яндекс.Метрика
Услуги Портфолио Контакты БлогНовости +7 (800) 511‑32‑27 Обсудить проект

Кроссплатформа

Разработка мобильных приложений на Flutter

Один код для iOS и Android — быстрее релиз, ниже стоимость поддержки.

Разработка мобильного приложения на Flutter — это единая кодовая база для iOS, Android и веба при производительности, близкой к нативной. Собираем продукт от прототипа до публикации в сторах. Но перед стартом честно проверяем, ваш ли это случай: для тяжёлой AR, 3D-игр и глубокой работы с системными API мы отговорим и предложим нативную разработку — Flutter продаём не ради технологии, а под задачу.

Бесплатно оценим объём работ, сроки и стоимость под вашу задачу — с вилкой цены и списком того, что оплачивается сверх сметы.

FlutterDart · Cross

Flutter или нативная разработка: честный выбор

Flutter подходит для большинства бизнес-приложений, но не для всех. Ниже — прямой чек-лист, когда стоит брать Flutter, а когда мы сами отговорим и предложим нативную разработку. Это единственный способ не переплатить за технологию, которая не решит вашу задачу.

Flutter — ваш выбор, если

  • Нужны iOS и Android одновременно, а бюджет и сроки ограничены — один код вместо двух экономит примерно 30–40% против двух нативных команд.
  • Это MVP, маркетплейс, сервис записи, доставка, финтех-кабинет, приложение лояльности или внутренний корпоративный продукт.
  • Важна единая дизайн-система: интерфейс выглядит идентично на обеих платформах без двойной вёрстки.
  • Планируете часто выкатывать обновления — правка вносится один раз и уходит на обе платформы.

Лучше нативная или другой стек, если

  • Ядро продукта — тяжёлая 3D-графика или игра: здесь выигрывают Unity, нативный Metal/OpenGL.
  • Нужна глубокая работа с системными API: AR (ARKit/ARCore), сложный Bluetooth-mesh, редкие датчики, фоновая обработка на грани возможностей ОС.
  • Критичен минимальный размер установочного файла: Flutter добавляет к бандлу примерно 4–8 МБ рантайма — для «лёгких» утилит это может быть неприемлемо.
  • Приложение почти целиком строится на платформенных виджетах конкретной ОС и не требует общей кодовой базы.

Разошлись iOS- и Android-версии за годы раздельной разработки? Собираем из двух кодовых баз одно приложение на Flutter — так мы сделали для Grom Security (ноль критических дефектов за первые полгода). Смежные варианты — React Native, кроссплатформенная разработка или нативные iOS и Android.

Наши клиенты

SuperStep
Юнилаб
Plonq
Галамарт
Гром
move2Armenia
Мосокна
Вилка Ложка
Конга
xRouten
AIS

Обсудим ваш проект на Flutter

Готовы начать разработку вашего проекта? Оставьте заявку, и наш менеджер бесплатно проконсультирует вас, рассчитает стоимость и сроки, чтобы вы могли принять взвешенное решение.

* При условии заключения договора на разработку. Услуга технический SEO аудит сайта предоставляется с отчетом и списком рекомендаций.

Отзывы клиентов о мобильной разработке

Руководители продуктов и основатели — о запуске мобильных приложений для iOS и Android вместе с командой YuSMP: нативная разработка, Flutter, App Store и Google Play, измеримые результаты после релиза.

Фитнес-марафоны и челленджи требуют, чтобы геймификация, рейтинги и платежи работали безупречно вместе. YuSMP создали MFIT для iOS и Android и вышли в сторы меньше чем за три месяца. Удержание на 30-й день — 42%.

ЮНЮлия НосоваCEO, MFIT
Смотреть кейс →

Релокантам нужны локальные события, проверенное бронирование и билеты в одном месте — и чтобы это работало сразу после прилёта. YuSMP создали нативное приложение для iOS и Android, которое пользователи называют первым, что открывают, прилетев в Ереван.

АКАнна КовалёваРуководитель продукта, Move2Armenia
Смотреть кейс →

Приложения для заказа еды — переполненный рынок, поэтому удобство решает всё. YuSMP создали приложения для iOS и Android для нашей сети, которые сократили среднее время заказа на 40% и дали рост допозиций на 22%.

КРКира РомановаРуководитель цифрового продукта, Вилка-Ложка
Смотреть кейс →

У нас была идея и сжатые сроки. YuSMP за четыре месяца превратили скелет в готовое к продакшену приложение — с калорийным движком, планами питания и подписками. Удержание на 90-й день превысило наш ориентир на 30%.

СЛСофья ЛавроваДиректор по продукту, BasilDoc
Смотреть кейс →

Наши приложения для iOS и Android за годы раздельной разработки разошлись. YuSMP собрали единое решение с трансляцией с камер, управлением умным домом и ролевым доступом. За первые полгода — ноль критических дефектов.

ПОПавел ОрловCTO, Grom Security
Смотреть кейс →

Наши преимущества

Берем на себя публикацию в App Store и Google Play. Решаем вопросы оформления и оплаты.

В команде 50+ специалистов с опытом в более 20 различных нишах.

Более 9 лет занимаемся разработкой мобильного ПО любой сложности: с нуля или дорабатываем существующие проекты.

В портфолио более 120 реализованных проектов с применением самых современных технологий.

Приложения, которые мы разрабатываем

Flutter закрывает большинство задач бизнес-приложений, но в каждой отрасли своя сложная часть. Ниже — направления, где у нас есть выпущенные кроссплатформенные приложения, и что в них потребовало отдельной работы.

Для iOS

Flutter-приложение публикуется в App Store наравне с нативным Swift-приложением — пользователь не видит разницы в интерфейсе. Поддерживаем Face ID, Touch ID, Apple Pay и виджеты ScreenKit через platform channels. Для глубокой работы с системными API (CallKit, Share Extension, фоновые задачи) пишем нативный код на Swift и подключаем через Dart FFI.

Модерация App Store к Flutter-приложениям относится ровно так же, как к нативным. Закладываем реальное время проверки в смету и не обещаем релиз «в день подачи».

Для Android

Одна Flutter-кодовая база даёт публикацию в Google Play, RuStore и Huawei AppGallery без отдельных команд под каждый магазин. Основная сложность Android — фрагментация: один и тот же виджет может выглядеть иначе на дешёвом Xiaomi 2021 года и на современном флагмане. Перед стартом фиксируем матрицу устройств и минимальную версию Android.

Flutter рисует интерфейс своим движком Impeller, а не через системные View, поэтому поведение на разных производителях более предсказуемо, чем у нативного Kotlin-кода с кастомными темами прошивки.

Финтех

Приложения, работающие с деньгами, требуют биометрического входа через Biometric API, хранения токенов в Android Keystore и iOS Secure Enclave, SSL Pinning от MITM-атак и обнаружения root/jailbreak. Для расчётов подключаем ЮKassa, СБП, Сбербанк Эквайринг и CloudPayments — в зависимости от задачи клиента.

Требования 152-ФЗ к локализации персональных данных распространяются на мобильные приложения так же, как на веб. Проектируем хранение данных на российских серверах и следим, чтобы никакие персональные данные не уходили в зарубежные аналитические SDK без явного согласия.

Фудтех и доставка

Приложения для ресторанов и доставки измеряются временем от открытия до оформленного заказа. Каждый лишний экран — брошенная корзина. На Flutter реализуем анимированный каталог с реал-тайм обновлением остатков, оплату через ЮKassa и СБП, программу лояльности, интеграцию с 1С и кассовым ПО.

Для Вилка-Ложка мы добились сокращения среднего времени заказа на 40% и роста допозиций на 22% — за счёт быстрого интерфейса Flutter с сохранёнными адресами и персональными предложениями на главном экране.

Медтех

Медицинские приложения работают с данными специальной категории по 152-ФЗ: доступ к ним, хранение и передача регулируются строже, чем для обычных персональных данных. Для клинико-диагностической сети Юнилаб мы собрали на Flutter приложение с записью пациентов, результатами анализов и каталогом услуг с интеграцией в 1С.

Шифрование данных на устройстве (SQLCipher), управление ролями доступа и отсутствие медданных в crash-логах — всё закладываем на этапе проектирования, а не добавляем постфактум.

Образование и фитнес

EdTech и фитнес-приложения живут или умирают на рубеже 30 дней. Для MFIT мы собрали на Flutter геймификацию, рейтинги, марафоны и платёжные подписки так, чтобы они работали как единая система мотивации, — удержание на 30-й день составило 42%.

Flutter хорошо подходит для контент-тяжёлых приложений с анимациями и прогресс-трекерами: движок Impeller обеспечивает стабильные 60 fps даже при активных переходах и анимированных графиках, что критично для ощущения «живого» продукта.

Логистика и транспорт

Для xRouten, оператора последней мили в Германии, мы реализовали многоточечное планирование маршрута, отслеживание водителя в реальном времени, офлайн-режим с синхронизацией заданий и выставление счетов прямо из приложения.

Геолокация в фоне — один из немногих сценариев, где Flutter требует нативного кода: Background Location API на iOS жёстко ограничен Apple. Это обсуждаем до старта, чтобы стоимость нативного плагина попала в смету, а не в счёт постфактум.

e-commerce

Для e-commerce Flutter даёт единый фирменный интерфейс на iOS и Android без платформенных расхождений. Каталог, корзина, оплата (ЮKassa, СБП, Сбербанк), программа лояльности и синхронизация остатков с 1С — всё из одной кодовой базы. Для SuperStep сделали приложение учёта остатков и оформления продаж в рознице.

Типичная сложность e-commerce — интеграция с 1С. Подключаем через REST-API (1С 8.3.5+) или SOAP для legacy-конфигураций, в зависимости от версии и конфигурации 1С на стороне клиента.

B2B и корпоративные инструменты

Внутренние корпоративные приложения — полевые инспекции, управление складом, CRM на смартфоне — редко получают столько внимания к интерфейсу, сколько потребительские продукты. Flutter позволяет сделать корпоративное приложение с интерфейсом, не уступающим B2C-продукту, в разумный бюджет.

Корпоративные приложения часто требуют интеграции с MDM-системами (Microsoft Intune, VMware Workspace ONE) для управления устройствами и политиками безопасности. Настраиваем такие интеграции на этапе архитектуры.

Flutter изнутри: что важно знать заказчику

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

Dart и зрелость экосистемы

Flutter использует язык Dart — он создан Google и проектировался для клиентских приложений. Dart компилируется в нативный машинный код (AOT-компиляция для релизных сборок), что даёт производительность, близкую к нативной. В режиме разработки JIT-компиляция обеспечивает горячую перезагрузку — изменения в коде видны в приложении за секунды без потери состояния.

Репозиторий pub.dev содержит более 35 000 пакетов для Flutter/Dart. Большинство типичных задач — карты, платежи, пуши, камера, биометрия, аналитика — закрываются готовыми библиотеками без написания нативного кода. Это одна из причин, почему Flutter-разработка быстрее двух отдельных нативных команд.

Движок Impeller и плавность интерфейса

До Flutter 3.10 интерфейс рисовал движок Skia, компилировавший шейдеры во время первого рендера — отсюда «подёргивания» при первом открытии экранов. Flutter перешёл на Impeller, который предкомпилирует все шейдеры на этапе сборки. Результат: стабильные 60–120 fps без «шейдерного лага».

Impeller стал стандартом на iOS с Flutter 3.10 и на Android с Flutter 3.16. «Flutter тормозит» — устаревший миф эпохи Skia. Мы используем актуальные версии Flutter.

Platform channels: Flutter и нативные API

Flutter общается с нативным кодом через Platform Channels — механизм асинхронных сообщений между Dart и Swift/Kotlin. Любой нативный API доступен Flutter-приложению через этот слой. Большинство популярных API уже обёрнуты в готовые pub.dev-пакеты. Для специфических задач пишем нативные плагины сами.

Разрыв между «доступно нативно» и «есть в готовом Flutter-пакете» сужается. Сегодня написание нативного кода нужно для специфической работы с Bluetooth Low Energy, редких датчиков и нестандартных платёжных терминалов. Обо всём предупреждаем на этапе оценки.

Размер приложения и первый запуск

Flutter-приложение включает рантайм движка (~4–8 МБ сверх бизнес-логики). Для большинства приложений это незаметно — итоговый размер сопоставим с нативным при похожей функциональности. Проблема возникает только для «лёгких» утилит, где критичен минимальный вес. В таких случаях скажем об этом до договора.

Время первого холодного запуска Flutter-приложения на Android с Impeller сопоставимо с нативным Kotlin-приложением аналогичной сложности. На iOS разница ещё меньше из-за жёсткой оптимизации App Store-дистрибуции.

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

Для ориентировочного понимания стоимости разработки, ниже приведены примеры бюджета и перечень работ для разных видов приложений. Мы всегда идем навстречу нашим клиентам и нацелены на длительное и продуктивное сотрудничество. И прекрасно понимаем, что разработка мобильного приложения — дело затратное, и поэтому готовы разбить оплату на этапы.

MVP
Минимально жизнеспособный продукт с базовым функционалом
от 300 000 ₽
2 месяца
1 платформа iOS или Android
  • Главная
  • Каталог товаров
  • Контакты
  • Избранное
  • Интеграция с 1С
Normal
Стандартное приложение с расширенными возможностями
от 500 000 ₽
3 месяца
2 платформы iOS и Android
  • Главная
  • Каталог товаров
  • Контакты
  • Избранное
  • Интеграция с 1С
Optimum
Мобильное приложение с админ-панелью
от 800 000 ₽
4 месяца
2 платформы iOS и Android
  • Главная
  • Каталог товаров
  • Контакты
  • Избранное
  • Интеграция с 1С
  • Авторизация по СМС
  • Профиль пользователя
  • Корзина
  • Оплата заказа
  • Интеграция с кассой
Advanced
Мобильное приложение с расширенными возможностями, админ-панелью, интеграциями и аналитикой
от 1 000 000 ₽
5 месяцев
2 платформы iOS и Android
  • Главная
  • Каталог товаров
  • Контакты
  • Избранное
  • Интеграция с 1С
  • Авторизация по СМС
  • Профиль пользователя
  • Корзина
  • Оплата заказа
  • Интеграция с кассой
  • Админ-панель, управление ролями, пользователями, заказами, карточками товаров и доставками

*Функционал в пакетах примерный, набор элементов под каждую нишу будет индивидуальным. *Информация на сайте носит сугубо информационный характер, и ни при каких условиях не является публичной офертой, определяемой положениями Статьи 437(2) Гражданского кодекса РФ.

Хотите быстро прикинуть бюджет? Воспользуйтесь онлайн-калькулятором стоимости — предварительная оценка проекта за 2 минуты, без обязательств.

Что входит в смету, а что оплачивается отдельно

В цену разработки на Flutter входит вся работа команды — от аналитики до публикации. Отдельно оплачиваются только сторонние сервисы и аккаунты, которые остаются вашими. Мы показываем это на старте, чтобы в счёте не было сюрпризов.

Входит в стоимость проекта

Всё, что делает наша команда по договору.

  • Аналитика, ТЗ и прототип в Figma
  • UI/UX-дизайн и вёрстка под обе платформы
  • Разработка на Flutter (Dart), интеграции с вашим бэкендом и API
  • Тестирование на реальных устройствах iOS и Android
  • Сборка и загрузка релизов в App Store и Google Play
  • Гарантийная поддержка после релиза — правки по нашим дефектам бесплатно

Оплачивается отдельно

Внешние сервисы и аккаунты — оформляются на вас и остаются вашими.

  • Аккаунт Apple Developer — 99 $ в год
  • Аккаунт Google Play — 25 $ единоразово
  • Платные SDK и API: карты, SMS-шлюзы, эквайринг, аналитика по подписке
  • Серверы и хостинг бэкенда, домены, push-сервисы сверх бесплатных лимитов
  • Покупные фото, шрифты и иконки, если нужны лицензионные
  • Развитие функций и доработки за пределами согласованного объёма

Стек технологий

Веб-фронтенд

  • ReactReact
  • Next.jsNext.js
  • TypeScriptTypeScript

Бэкенд

Инфраструктура

  • DockerDocker
  • CI/CD
  • AWS

Этапы разработки приложения

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

1

Дискавери

Сроки: 1-2 недели

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

Команда: менеджер проекта, бизнес-аналитик, lead-разработчик.

Результат: четкое понимание того, каким будет приложение, смета бюджета проекта.

2

Бизнес-анализ

Сроки: 1-2 недели

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

Команда: бизнес-аналитик, маркетолог.

Результат: детализированное ТЗ и полную документацию для дальнейшей разработки.

3

Интерфейс и юзабилити

Сроки: 2-4 недели

Создаем визуальную концепцию и удобную структуру приложения. Отрисовываем дизайны всех экранов, прорабатываем пользовательские сценарии и проводим юзабилити-тестирование макетов.

Команда: UX/UI дизайнер.

Результат: полный и интерактивный макет (прототип) приложения, который наглядно показывает внешний вид, логику и удобство использования будущего продукта.

4

Проектирование

Сроки: 1-2 недели

Создаем интерактивный прототип, который визуализирует все экраны приложения, переходы между ними и ключевые функциональные возможности. Это «скелет» будущего продукта.

Команда: UX-дизайнер, бизнес-аналитик.

Результат: кликабельный прототип, позволяющий оценить логику приложения до начала написания кода, и утвердить сценарии взаимодействия.

5

Создание приложения

Сроки: 4-12+ недель (зависит от сложности)

Пишем чистый и стабильный код. Создаем базу данных, интегрируем необходимые сторонние сервисы и API. Это этап непосредственного воплощения идеи в работающий продукт.

Команда: iOS/Android-разработчики, QA-инженер.

Результат: готовое к тестированию мобильное приложение.

6

Тестирование

Сроки: 2-4 недели

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

Команда: QA-инженеры, менеджер проекта, разработчики.

Результат: стабильное и отлаженное решение, готовое к публикации в магазинах.

7

Публикация

Сроки: 1-3 недели (включая время проверки магазинами)

Подготавливаем все необходимые материалы (описания, иконки, скриншоты) и публикуем приложение в App Store, Google Play и RuStore. Оказываем поддержку во время обязательной модерации со стороны магазинов.

Команда: Менеджер проекта, Маркетолог.

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

Почему Flutter

Один язык — Dart

Flutter — открытый UI-фреймворк от Google, код пишется на языке Dart. Одна кодовая база собирается в нативные приложения для iOS и Android, поэтому продукт ведёт одна команда, а не две.

Движок Impeller, 60 fps

Интерфейс рисует собственный графический движок (Skia/Impeller), а не платформенные «мосты». Анимации и прокрутка идут в 60 fps даже на бюджетных устройствах — производительность близка к нативной.

Hot reload

Изменения в коде видны в приложении за секунды, без полной пересборки. Это ускоряет согласование интерфейса и правок на демо — вы видите результат сразу, а не в следующем спринте.

Одна база — до 4 платформ

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

Создание приложений на Flutter в YuSMP Group

Мы проектируем архитектуру под рост нагрузки и интеграции с вашими сервисами: платежи, карты, пуш-уведомления, аналитику. На старте формируем прозрачный план работ с этапами и понятными результатами, чтобы вы видели прогресс на каждом шаге.

После релиза сопровождаем приложение: обновляем под новые версии iOS и Android, следим за стабильностью и развиваем функциональность по вашим приоритетам. Работаем по спринтам с регулярными демонстрациями результата.

Что мы еще предлагаем

Мы в каталогах и рейтингах

Рейтинги и каталоги

Публикации экспертов

FAQ

Flutter дешевле нативной разработки?
Да, обычно на 30–40% — потому что iOS и Android собираются из одного кода одной командой, а не двумя раздельными. Но если продукту нужны тяжёлая 3D-графика, AR или глубокая работа с системными API, честнее взять нативную разработку: там Flutter не сэкономит.
Когда Flutter не подходит?
Flutter не лучший выбор для 3D-игр и тяжёлой графики (лучше Unity/нативный движок), для приложений с глубокой работой с системными API — AR, сложный Bluetooth, редкие датчики — и там, где критичен минимальный размер файла. В таких случаях мы отговорим и предложим нативное или другое решение.
Насколько Flutter-приложение больше по размеру, чем нативное?
Flutter добавляет к установочному файлу примерно 4–8 МБ рантайма движка. Для большинства бизнес-приложений это незаметно, но для «лёгких» утилит, где важен минимальный вес, разница может быть существенной — это стоит учесть до старта.
Сколько занимает разработка?
Сроки зависят от объёма функций. MVP на Flutter занимает 1,5–3 месяца, стандартное приложение — 3–4 месяца, сложное с бэкендом — от полугода. Точную оценку дадим после обсуждения задачи.
Интегрируете платежи и внешние сервисы?
Да, подключаем платёжные системы, карты, аналитику, CRM и любые API. Все интеграции согласуем на этапе проектирования.
Как публикуете приложение в сторах?
Готовим сборки, оформляем страницы и проходим модерацию App Store и Google Play. При необходимости публикуем под вашей учётной записью разработчика.
Что будет после запуска?
Мы сопровождаем приложение: исправляем ошибки, обновляем под новые версии ОС и развиваем функциональность. Формат поддержки согласуем отдельно.
Можно ли перевести существующие iOS и Android на Flutter?
Да. Если за годы раздельной разработки iOS- и Android-версии разошлись по функциям, мы собираем из двух кодовых баз одно приложение на Flutter — с единой логикой и дизайн-системой. Так мы сделали для Grom Security: ноль критических дефектов за первые полгода после объединения.
Как подключить российские платежи (ЮKassa, СБП) во Flutter-приложении?
Для ЮKassa и Сбербанк Эквайринга используем официальные Flutter-пакеты или REST-обёртку — в зависимости от того, есть ли актуальный pub.dev-пакет. СБП реализуем через Deep Link на banking-приложение пользователя: это самый быстрый способ без ввода реквизитов. Apple Pay и Google Pay подключаем через нативные platform channels — пользователь платит касанием. Все варианты совместимы с требованиями 54-ФЗ при использовании сертифицированной кассы.
Поддерживает ли Flutter видеозвонки и стриминг?
Да. Flutter поддерживает WebRTC через пакет flutter_webrtc — это основа для видеозвонков (Agora, Daily, собственный медиасервер). Для видеопроигрывателей используем video_player (официальный плагин Google) или chewie как более гибкую обёртку. Потоковое видео (HLS, DASH) воспроизводится без проблем. Сложная real-time стриминговая логика с RTMP-пушем потребует нативного плагина, но такие решения уже существуют на pub.dev.
Как настраивают push-уведомления и фоновые задачи во Flutter?
Push-уведомления доставляются через Firebase Cloud Messaging (FCM) для Android и APNs для iOS — один пакет firebase_messaging охватывает обе платформы. Поддерживаем rich notifications с картинками и кнопками, тихие пуши для фоновой синхронизации данных и deep links из уведомления в конкретный экран. Для российского рынка, где Firebase может быть нежелательным, настраиваем AppMetrica Push или Яндекс Push. Фоновые задачи (синхронизация, геолокация) реализуем через workmanager на Android и BGTaskScheduler на iOS через platform channels.
Как выглядит CI/CD для Flutter-проекта?
Стандартный пайплайн: код пушится в Git → CI (GitHub Actions, GitLab CI или Codemagic) запускает тесты, сборку и публикацию. Для Android артефакт идёт в Google Play Internal Track, для iOS — в TestFlight через Fastlane. Полная цепочка «коммит → устройства тестировщиков» занимает 20–40 минут. Codemagic — наиболее удобный облачный CI специально для Flutter: у него готовые Mac-агенты для iOS-сборок. Настраиваем пайплайн с первого спринта, а не перед релизом.
Подходит ли Flutter для веб-версии приложения?
Flutter Web технически существует, но для большинства бизнес-задач это не лучший выбор: бандл крупнее, чем у React, начальная загрузка медленнее, SEO-индексация затруднена. Flutter Web имеет смысл там, где нужен максимально идентичный интерфейс с мобильным приложением — например, корпоративная административная панель, которую не нужно индексировать в поиске. Для публичных сайтов и лендингов берём React или Next.js.