Стоимость разработки приложения: факторы оценки
На стоимость разработки приложения влияют разные факторы: число фич, сложность интеграций, логика и особенности UI/UX, используемые технологии. Чтобы выбрать инструмент для будущего продукта, ИТ-команды оценивают его гибкость, доступность, производительность и скорость разработки на нём.
Мы более 13 лет разрабатываем приложения для компаний из разных индустрий: для интернет-магазинов, для банков, для медицинских стартапов и других компаний. Собрали вопросы от наших клиентов и отвечаем на самые частые. В этой статье сравним кроссплатформенные и нативные технологии по востребованности и применимости, разберём самые важные особенности, оценим стоимость каждой и посчитаем, сколько может стоить готовый продукт.
Как технологии влияют на стоимость разработки приложения
Кроссплатформенные технологии позволяют создавать приложения, которые могут работать сразу на нескольких операционных системах и устройствах, что снижает стоимость разработки приложения до 60%. Программисты пишут код один раз, адаптируют его для разных платформ и значительно экономят ресурсы, затрачиваемые на проект.
Особенности кроссплатформенных приложений
Ещё несколько лет назад среди недостатков кроссплатформ называли низкую производительность на слабых устройствах и сложности с реализацией удобного пользовательского интерфейса в мобильных и веб-версиях. Сейчас эти факторы сошли на нет. Это стало возможно благодаря развитию Flutter, кроссплатформенного фреймворка от Google.
Flutter достиг высокой производительности в актуальных версиях. Он позволяет разработать любой интерфейс в зависимости от запросов бизнеса и обеспечить положительный пользовательский опыт — при этом компании экономят до 40% стоимости разработки мобильного приложения по сравнению с нативными технологиями.
В рамках проекта для трёх брендов крупной аптечной сети мы создали 6 приложений на единой кодовой базе Flutter — по два приложения (iOS и Android) для каждого бренда. Разработка заняла 5 месяцев: от этапа проектирования до выхода в релиз.
При разработке приложения для Росбанка мы также использовали Flutter: сделать один мобильный банк быстрее, чем два нативных. Соответственно, снижается и стоимость разработки. Программа стала первым мобильным банкингом в России, для создания которого использовали эту технологию.
Особенности нативных приложений
При использовании нативных технологий программисты пишут код для каждой платформы отдельно. Как следствие, компания затрачивает больше ресурсов на разработку IT-продукта. Несмотря на высокую стоимость, нативная разработка пользуется большой популярностью: это связано с тем, что у нативных приложений практически нет ограничений. При их создании можно добавить функции любого уровня сложности, например, акселерометр, камеру или GPS.
Приведём примеры нативных продуктов, за разработку которых мы отвечали.
Главными задачами в процессе разработке нового приложения для покупателей «Бетховен» были удобный выбор товаров в каталоге и интуитивно понятное оформления заказа. Для этого мы провели подробное предпроектное исследование и составили Customer Journey Map — карту пользовательского пути. Проработанный путь пользователя и функциональность легли в основу разработки визуальной части. Созданное решение увеличило продажи через мобильный канал в три раза.
Ещё один пример нативного приложения — мобильный канал продаж для мультибрендовой сети Rendez-Vous. Магазину нужно было новое функциональное решение, которое подчеркивало бы премиальный статус бренда, рассказывало, из чего складывается стоимость товаров и услуг, и помогало пользователям выбрать обувь и аксессуары. Мы разработали два нативных приложения. Акцент сделали на более дорогом сегменте: UX-прототип собирали так, чтобы он хорошо смотрелся на iPhone. В итоге конверсия и Retention rate увеличились.
С нативными технологиями мы в Surf работаем последние 13 лет, а кроссплатформы используем с 2019 года — с момента, когда Google сделал Flutter публично доступным. Сегодня обе технологии хороши для своих целей. Стоимость мобильного приложения — не всегда решающий фактор при их выборе в случае конкретного проекта.
Как формируется стоимость разработки нативного и кроссплатформенного мобильного приложения
Представим, что две команды работают над одним и тем же проектом в абсолютно одинаковых условиях, но одна использует натив, другая — Flutter. Трудоёмкость разработки мы считали в часах и при условии, что в течение дня сотрудник не отвлекался на переговоры и другие задачи.
В этом примере с Flutter мы экономим:
- 45,6% на разработке.
- 70,5% на QA с учетом использования автотестов в обеих командах.
- 33,3% на дизайне.
Задачи бывают разными, поэтому кто-то сэкономит 20%, кто-то — 40%. Но суть одна: средняя стоимость продукта на Flutter ниже за счёт высокой скорости создания продукта. А высокая скорость разработки обусловлена следующими причинами:
- Единая кодовая база для всех платформ. Как мы упоминали выше, Flutter позволяет писать код и проектировать дизайн один раз. Их можно использовать одновременно на Android и iOS — с минимальными изменениями. Бизнес-логика, вёрстка и интерфейс тоже почти не меняются. В итоге сокращается время на тестирование — примерно в 1,3–1,5 раза. Продукт развивается быстрее, поддерживать его удобнее, стоимость содержания штатной команды разработчиков — ниже.
- Hot Reload. Фреймворк поддерживает Hot reload: разработчики мгновенно видят изменения прямо в приложении. Это увеличивает производительность труда программистов, снижая суммарную стоимость часов.
- Виджеты. Всё, что связано с интерфейсом, во Flutter делается с помощью виджетов. Они облегчают создание, настройку и тестирование пользовательского интерфейса.
Стоимость разработки функций для приложений
На основе оценки наших недавних проектов, мы привели усреднённые цены на фичи приложений. Реальная стоимость будет зависеть от типа продукта, нюансов его разработки и конкретных задач. Кроме того, важно понимать, что в команде проекта не только разработчики, но и PM, QA, BA и т. д.
Выводы: от чего зависит стоимость
- Число фич, интеграций, особенности UI/UX и основная технология, выбранная для разработки мобильного приложения, это факторы, которые определяют цену ИТ-продукта.
- Для создания приложения можно использовать кроссплатформенные или нативные технологии. В нативе разработчики пишут кодовые базы для каждой ОС — iOS и Android. При кроссплатформенной разработке кодовая база одна — она переиспользуется для разных ОС. Это позволяет снизить стоимость до 40% в зависимости от разных факторов и сократить Time to market проекта.
- Хотя кроссплатформенная разработка дешевле нативной, при выборе техстека стоит учитывать особенности конкретного продукта и задачи бизнеса.