Миграция с Cordova на Flutter — это перенос мобильного приложения с устаревшего WebView-движка на нативно компилируемый фреймворк Google. Процесс занимает от 6 до 14 недель, стоит от 1 800 000 ₸ и даёт прирост производительности, доступ к актуальным API устройств и снижение стоимости поддержки. Полная переработка кода неизбежна — UI и логика пишутся заново.

Почему Cordova перестала справляться

Cordova (а также её надстройки PhoneGap и Ionic на старых версиях) рендерит интерфейс внутри системного WebView — по сути это сайт, упакованный в нативную оболочку. Такой подход хорошо работал в 2014–2018 годах, но к 2026-му накопились системные ограничения, которые не лечатся точечными правками:

  • Тормозящий интерфейс. Прокрутка длинных списков, анимации и переходы упираются в производительность WebView. На бюджетных Android-устройствах это особенно заметно.
  • Заброшенные плагины. Экосистема cordova-plugin постепенно умирает: многие плагины не обновлялись годами, не поддерживают Android 14+ и новые требования приватности iOS.
  • Проблемы с публикацией. Google Play и App Store ужесточают требования к target SDK и API privacy. Старые сборки Cordova всё чаще отклоняют на ревью.
  • Дорогая поддержка. Найти разработчика, готового погружаться в legacy-стек Cordova, в Казахстане сложно, а каждая правка превращается в борьбу с устаревшими зависимостями.

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

Что даёт переход на Flutter

Flutter не использует WebView и не полагается на нативные UI-компоненты платформы. Он рисует каждый пиксель собственным движком (Impeller/Skia) и компилируется в нативный машинный код ARM. Отсюда — ключевые выгоды:

  • Скорость, близкая к нативной. 60–120 FPS на анимациях, мгновенный отклик интерфейса.
  • Единый код для iOS и Android. Одна кодовая база Dart вместо JS-обёртки с разным поведением на платформах.
  • Живая экосистема. pub.dev содержит десятки тысяч поддерживаемых пакетов, а сам Flutter активно развивается Google.
  • Доступ к новым API. Камера, биометрия, push, фоновые задачи, Bluetooth, NFC — через актуальные, поддерживаемые плагины.
  • Предсказуемая поддержка. Найти Flutter-разработчика на рынке KZ в 2026 году кратно проще, чем спеца по Cordova.

Как устроен процесс миграции

Миграция — это не «конвертация кода», а контролируемая повторная разработка с опорой на готовую бизнес-логику и существующий бэкенд. Мы разбиваем её на этапы:

1. Аудит и инвентаризация

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

2. Проектирование архитектуры

Выбираем стейт-менеджмент (Riverpod, Bloc или Provider), структуру слоёв, способ работы с сетью и кэшем. Бэкенд в большинстве случаев остаётся прежним — Flutter общается с теми же REST/GraphQL-эндпоинтами, что и старое приложение.

3. Перенос UI и логики

Экраны пересобираются на виджетах Flutter. Это возможность не только повторить старый интерфейс, но и привести его к современным гайдлайнам Material 3 и Cupertino. Бизнес-правила переносятся из JavaScript в Dart с сохранением поведения.

4. Интеграция нативных функций

Каждый cordova-плагин заменяется на актуальный Flutter-пакет или нативный канал (platform channel). Push-уведомления, оплата, аналитика, deeplink настраиваются заново на поддерживаемых решениях.

5. Тестирование и публикация

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

Сроки и стоимость миграции в Казахстане

Цена зависит от количества экранов, числа интеграций (платежи, карты, чаты, офлайн-режим) и состояния бэкенда. Ориентиры по рынку KZ на 2026 год:

Тип приложения Сроки Стоимость
Простое (10–15 экранов, базовый API) 6–8 недель от 1 800 000 ₸
Среднее (каталог, авторизация, push, оплата) 8–12 недель 3 000 000 – 5 500 000 ₸
Сложное (геолокация, чаты, офлайн, интеграции с 1С/CRM) 12–16 недель от 6 000 000 ₸

Точную смету мы готовим после аудита исходников — обычно в течение 24 часов после получения доступа к репозиторию. Запросить расчёт можно на странице доработки приложений в Алматы.

Когда мигрировать, а когда подождать

Миграция оправдана не всегда. Мы рекомендуем переходить на Flutter, если:

  • приложение активно используется и приносит выручку, а не просто «висит» в сторе;
  • сборки начали отклонять на ревью из-за устаревших API;
  • пользователи жалуются на скорость и зависания;
  • планируется развитие — новые функции, которые на Cordova реализовать дорого или невозможно.

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

Как мы снижаем риски при переходе

За время работы с 2007 года и более чем на 300 проектах для рынков Казахстана, ОАЭ и Таиланда мы выработали несколько принципов, которые делают миграцию предсказуемой:

  • Параллельный запуск. Старое приложение остаётся в сторе и работает, пока новое не пройдёт тестирование. Пользователи ничего не теряют.
  • Сохранение бэкенда. Мы не переписываем сервер без необходимости — это экономит бюджет и сроки.
  • Поэтапная сдача. Заказчик видит работающие экраны на каждом спринте, а не только финальный результат.
  • Передача исходников. Код остаётся у вас, без привязки к подрядчику.

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

Можно ли автоматически конвертировать код Cordova в Flutter?

Нет. Cordova написана на HTML/CSS/JavaScript и работает в WebView, а Flutter использует язык Dart и собственный движок рендеринга. Автоматического конвертера не существует. UI и логика переписываются вручную, но с опорой на существующие бизнес-правила и неизменный бэкенд, что заметно ускоряет работу по сравнению с разработкой с нуля.

Сохранятся ли пользователи и отзывы после миграции?

Да. Новое приложение публикуется как обновление под тем же идентификатором (Bundle ID и applicationId) в существующих аккаунтах разработчика. Установленная база пользователей, рейтинг и отзывы в App Store и Google Play полностью сохраняются — для пользователя это выглядит как обычное обновление через стор.

Сколько стоит миграция небольшого приложения?

Для простого приложения на 10–15 экранов с базовым API стоимость стартует от 1 800 000 ₸, а сроки — 6–8 недель. Итоговая цена зависит от числа интеграций и состояния старого кода. После аудита исходников мы готовим точную смету в течение 24 часов, без обязательств с вашей стороны.

Нужно ли менять серверную часть приложения?

В большинстве случаев нет. Flutter обращается к тем же API-эндпоинтам, что и старое приложение на Cordova. Мы меняем бэкенд только если он сам устарел или ограничивает развитие. Это решение принимается по итогам аудита и обсуждается с вами отдельно, чтобы не раздувать бюджет проекта.

Что выгоднее — мигрировать на Flutter или писать нативно?

Для большинства бизнес-приложений Flutter выгоднее: одна кодовая база на iOS и Android вместо двух нативных проектов снижает стоимость разработки и поддержки примерно вдвое при производительности, близкой к нативной. Чисто нативная разработка оправдана для узких задач — тяжёлой графики, AR или системных утилит.