Типы мобильных приложений
Приложений столь же много, сколько сфер нашей жизни и интересов. Есть приложения B2C, когда приложение для конечного потребителя, где он — это пользователь какого-то продукта или потенциальный покупатель какого-то продукта. Есть B2B — корпоративного типа, когда пользователи являются сотрудниками какой-то организации, и это приложение используется в служебных целях. Например, таксисты используют приложение, чтобы получать заказы — это приложение необходимо для выполнения их работы.
Игровые приложения стоят особняком, потому что имеют свою специфику по функциям, и по дизайну — их разработка требует индивидуальных расчетов. Бывают системные приложения, выполняющие некоторые функции внутри операционной системы Apple iOS или Android.
Сложность разработки приложения
Если говорить непосредственно о создании мобильного приложения, то на самом деле это довольно сложный многоэтапный процесс, как создание любого IT-продукта. Но для приложений есть ряд особенностей: нужно продумать функциональность, бизнес-логику, как всем этим управлять.
Например, по аналогии с автомобилем, — видим приборную панель, руль, материалы, из которых это сделано, кнопки, мониторы, стрелки. Нажимая на них, можем ехать, хотя только специалисты знают, как работает сложный механизм, сочетающий электронику, топливную систему, двигатель и остальное.
Заказчики приложений часто оценивают приложение с точки зрения пользователя как набор экранов и картинок, поэтому им кажется, что все очень просто и понятно. Но внутри приложение — это большая технологичная система, о которой пользователь не догадывается. Для того, чтобы дать ему пользовательский опыт, экспириенс, который нужен, чтобы все быстро работало, красиво выглядело, выполняло свои функции, было конкурентоспособным, анализировало и сохраняло статистику, необходима большая серверная часть – бэкенд.
Как и в примере с автомобилем, при разработке мобильного приложения важно понимать, что одни и те же функции могут быть реализованы по-разному, как с точки зрения визуальной части, так с точки зрения какого-то внутреннего функционала. Поэтому и стоимость, и сроки создания приложений, и даже технология, по которой это приложение создается, зависит от нескольких факторов.
Факторы, влияющие на стоимость разработки
Наличие каких-то специфических требований в первую очередь влияет на цену. Например, некоторым важен дизайн — приложение должно быть не похожим на остальные. Соответственно, чем дизайн уникальнее, чем он специфичнее, тем приложение будет дороже. Требуется больше усилий, больше времени уйдет на то, чтобы спроектировать и создать уникальный дизайн, а потом его реализовать.
Реализация может быть разной, в зависимости от подхода. Каждое приложение должно запускаться на операционной системе, есть компании Apple и Google – поставщики ОС, соответственно, у каждой из них есть языки основные программирования: Swift – для iOS, Kotlin – для Android; приложения для iOS пишут на еще на Objective-C, а для Android – на Java. Нативное приложение создается с использованием кода, специфичного для конкретной платформы. Приложения для разных ОС могут быть очень похожи и вместе с тем, будут отличия в управлении и пользовательском опыте. Плюс этого варианта реализации в том, что он максимально эффективен с точки зрения производительности. Но стоимость при этом сразу умножается на 2, потому что вместо условно одного разработчика, который делает кроссплатформенное решение, необходимо два: в больших проектах есть отдельно команда iOS, отдельно — команда Android. При этом усложняется управление, требуется больше временных и человеческих ресурсов.
Кроссплатформенный подход к реализации, в свою очередь, с каждым годом становится все более востребованным. Такие инструменты, как Flutter, Xamarin и React Native, позволяют с помощью одного набора кода создать приложения и для Android-устройств, и для IOS-устройств. По сути, одна кодовая база компилируется и собирается в два приложения, которые запускаются на разных операционных системах. Преимущество этого подхода в экономии ресурсов и времени практически вдвое. Это снижает стоимость разработки, однако может ограничить доступ к некоторым специфическим функциям устройства, связанным с производительностью. Именно кроссплатформенного подхода придерживается команда DNA Team.
Стоимость мобильного приложения зависит от того, как оно должно выглядеть, какие необходимы функции и как должно быть реализовано. Приступая к разработке, важно понимать, как проект будет развиваться, что, к примеру, может потребоваться во второй версии, чтобы улучшить пользовательский опыт. Все эти факторы также влияют на конечную стоимость. Можно проиллюстрировать примером с квартирой: переезжая, заранее продумываем, сколько должно быть комнат, если появятся дети. То есть заранее понимаете, что может потребоваться, чтобы часто не менять жилье. Так и с разработкой приложения: закладывание каких-то функций на будущее в архитектуру тоже влияет на стоимость разработки.
База и MVP
Если говорить о каких-то базовых решениях, не требующих уникального дизайна и функциональности, в зависимости от первичных задач их можно разделить на три условные группы.
Простое приложение, например, для малого бизнеса – это каталог товаров, форма обратной связи, форма регистрации, адреса, карта – ценник от полутора до трех миллионов. Время разработки — в среднем полтора-три месяца.
Среднее приложение — для электронной коммерции, для среднего бизнеса, когда требуется чат, функция оплаты, аналитика, то есть интеграция с платежными системами или CRM, 1С. Расширяются функции мобильного приложения и создается уникальный дизайн, поэтому стоимость начинается от трех миллионов и может вырасти примерно до семи, в зависимости от сложности внешних интеграций. Сроки разработки такого мобильного приложения варьируются от четырех до шести месяцев.
Сложное приложение — крупный проект, например, маркетплейс или финансовое приложение со специфическими функциями, и дизайном, для которых нет базовых решений. Как правило, подобные индивидуальные решения стоят дорого, поэтому стоимость может быть от десяти миллионов и выше. Сроки разработки таких приложений зависят от функциональности и особенностей каждого проекта, поэтому рассчитываются индивидуально.
При разработке приложений среднего и сложного уровней имеет значение этап MVP.
Процесс создания MVP включает определение метрик, исследование рынка и конкурентов, анализ продукта и целевой аудитории, проведение CustDev (Customer Development) – исследований с помощью глубинных интервью потребностей потенциальных потребителей, выбор основных функций, тестирование и сбор обратной связи. Такой подход позволяет экономично и эффективно проверить гипотезы, оценить интерес аудитории и скорректировать процесс разработки приложения.
Затраты на MVP могут составить от трех до пяти миллионов. Сейчас стандарты повышаются, потому что пользователи привыкли, что есть и чат поддержки, и пуш-уведомления, приятный дизайн. Такая первая версия помогает оценить гипотезы и продумать стратегию развития продукта. MVP особенно важен для сложных продуктов, потому что помогает оценить риски правильно разработать дорожную карту развития проекта на основе потребностей пользователей и рынка.