Логотип

Аутсорсинг разработки на Flutter

Берем Flutter-приложение под ключ: от первых экранов до публикации в App Store и Google Play. Фреймворк собирает iOS и Android из одной кодовой базы. Код компилируется в машинный, как у нативных приложений. Исходники и аккаунты магазинов остаются у вас.

Рассчитать смету
Аутсорсинг разработки на Flutter

Кому подойдет аутсорсинг Flutter

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

К нам приходят, когда нужны оба магазина приложений без двух мобильных команд. Или когда приложение на Flutter уже есть, а развивать его некому. Если продукт почти целиком держится на камере, Bluetooth и работе в фоне, выгода общего кода там пропадает.

Наш подход к разработке на Flutter

Принципы, по которым мы ведем проекты

Прямая коммуникация

С вами говорят разработчики. Спросите, почему список тормозит на старом Android или как устроен платежный модуль, и вам объяснят без посредника.

Единый источник правды

Задачи, решения по архитектуре и статус сборок под iOS и Android ведем в трекере. Не в переписке и не в голове одного человека.

Наглядность изменений

Промежуточные сборки ставите на свой телефон через TestFlight и закрытое тестирование Google Play. Прогресс видно не только на демо.

Нативные модули в плане сразу

Камеру, пуш-уведомления, платежи и подпись сборок закладываем в оценку на старте. На приемке они не всплывают сюрпризом.

Делаем как для себя

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

Свобода уйти

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

Преимущества и недостатки Flutter

  • Один код на iOS и Android: экран меняют один раз, обе версии выходят вместе

  • Код компилируется в машинный, браузера внутри приложения нет

  • Свой движок отрисовки: экраны выглядят одинаково на iPhone и Android

  • При необходимости тот же код собирается под веб и десктоп

  • Открытый код, развитие фреймворка ведет Google

  • Камере, Bluetooth, фоновым задачам и платежам нужны нативные модули

  • Сборка тяжелее нативной: в нее входит движок фреймворка

  • Новые функции iOS и Android доходят до Flutter с задержкой

  • Виджеты рабочего стола и дополненную реальность пишут нативно

Нам доверяют

За что мы отвечаем

Приложение доходит до App Store и Google Play и остается вашим: с кодом, ключами подписи и аккаунтами

Бюджет проекта

Одна команда пишет экраны для обеих платформ, и бюджет не делится на две нативные команды. Порядок функций выбираем вместе по ROI.

Скорость выпуска

Экран правим один раз, обновление уходит в оба магазина в один день. Это сокращает TTM, а время на проверку в магазинах закладываем в план релиза.

Стоимость владения

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

Производительность

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

Технический долг

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

Бережливая разработка

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

Как управляем рисками

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

Чужой аккаунт в магазине

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

  • Публикуем только из ваших аккаунтов в App Store, Google Play и RuStore

  • Ключи подписи храним у вас и описываем доступы в документации проекта

Нативное на приемке

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

  • Составляем список нативных функций до оценки и согласуем его с вами

  • Самый рискованный модуль проверяем пробной версией в первых итерациях

Стек без сверки с задачей

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

  • Сверяем функции продукта с возможностями Flutter до оценки

  • Если ядро продукта нативное, предлагаем начать с пробной версии самого сложного модуля

Новые требования магазинов

Apple и Google каждый год поднимают требования к версиям SDK. Обновление на старой сборке магазин не примет на проверку.

  • Следим за требованиями App Store и Google Play и обновляем Flutter заранее

  • На поддержке ставим плановые обновления SDK в график

Брошенные плагины

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

  • Подключаем пакеты с живой поддержкой и проверяем их до установки

  • Перед каждым релизом проверяем плагины на свежих версиях iOS и Android

Код без документации

Проект на Flutter достался от прежней команды без описания. Доработки ломают соседние экраны.

  • Сначала разбираем код и фиксируем, какие места опасно трогать

  • До первых правок покрываем тестами ключевые сценарии

Отзывы клиентов

Петр Клименко

Петр Клименко

CTO, YAYA

Полтора года проработали вместе, и команда WS Dev деливерила в разы лучше внутренней команды разработки! Я всегда скептически относился к аутсорсу, считал, что для стартапов лучше инхаус. Но компания доказала, что я сильно ошибался. Быстро решались даже задачи, которые, казалось, решить нельзя, либо придется потратить много времени. Спасибо за сотрудничество!

Наталья Порошина

Head of Digital Projects, Випсервис

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

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

Product Manager, RU-Center

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

Юрий Кундин

Техлид, Divan.ru

Команда WS внимательно выслушала наши требования и предложила несколько вариантов решения. Было заметно, что они стремятся предоставить нам идеальное решение. Кроме того, они предоставляли нам регулярные обновления о ходе работы и были готовы предоставить дополнительную помощь при необходимости. Следует отметить, что проект был выполнен в срок. Готовы рекомендовать сотрудничество и приглашать к новым проектам!

Совместимые технологии

Технологии, с которыми работаем на Flutter-проектах

Dart

Dart

Kotlin

Kotlin

Riverpod

Riverpod

Закрываем полный жизненный цикл проекта

1

Инициализация

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

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

Проектируем экраны под iOS и Android, закладываем нативные модули и схему подписи сборок.

2
3

Разработка

Пишем код и тесты вместе. Каждый коммит проходит ревью. Прогресс видно в работающих демо.

Функциональная готовность

Весь заявленный функционал реализован. Список функций закрыт. Дальше — доводка до боевой готовности.

4
5

Готовность к эксплуатации

Проверяем сборки на реальных устройствах через TestFlight и закрытое тестирование Google Play. Правки вносим до отправки на проверку в магазины.

Запуск

Публикуем приложение в App Store, Google Play и при необходимости в RuStore из ваших аккаунтов. Если магазин вернул приложение с замечаниями, разбираем их вместе.

6
7

Поддержка и развитие

Продукт живет и меняется. Чиним, обновляем, наращиваем. Берем ту часть, которую держать в штате вам невыгодно.

Вывод из эксплуатации

Переносим данные, гасим зависимости, ничего не теряем. Финал — тоже инженерная задача.

8

Форматы вознаграждения

Разные задачи — разные договоренности. Не подгоняем вас под один контракт. Выбираем формат под зрелость продукта и ваш аппетит к риску.

Гибкий

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

  • Оплата: фактические часы (T&M)

  • Кому: стартапам в поиске PMF

Фиксированный

Вы знаете задачу и считаете ROI. Мы составляем ТЗ, фиксируем бюджет и сроки — и держим слово. Никаких сюрпризов в счете: цена согласована до старта.

  • Оплата: фиксированная по смете (Fixed Price)

  • Кому: устоявшемуся бизнесу для оптимизации эффективности

Гибридный

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

  • Оплата: Fixed Price + T&M

  • Кому: для проектов с просчитанной экономикой в условиях средней неопределенности

Цены

Бюджеты, с которыми мы можем работать

Проектная разработка

Гибкая разработка

Техподдержка

От 350 000 ₽

От 2 200 ₽ / час

От 40 000 ₽ / мес.

за этап работ

при полной загрузке

техподдержка продукта

Частые вопросы об аутсорсинге на Flutter

Оставьте заявку на аутсорсинг разработки на Flutter

  • Ответим в течение 1 рабочего дня

  • Уточним задачу и предложим формат сотрудничества

  • Подготовим оценку сроков и бюджета

  • Спросим, есть ли уже код и аккаунты разработчика в магазинах

  • Запустим разработку после согласования условий

Чтобы мы лучше подготовились к беседе.