Опыт и знания разработчиков. Когда дело доходит до найма разработчиков мобильных приложений, их цена и опыт обычно идут рука об руку со стоимостью их работы. Распределение зарплат, как правило, следующее (для США):
- Начинающие разработчики — около 30 долл./час. Могут помочь с отладкой, обслуживанием приложений, документацией по коду и простыми запросами функций при условии, что вы готовы потратить время на их обучение.
- Разработчики среднего уровня — около 60 долл./час. Обладают обширным опытом, который помогает им выполнять большинство задач по разработке дизайна, реализации функций и интеграций API. Довольно часто в данной категории можно найти перспективных, но недооцененных специалистов.
- Старшие разработчики — около 120 долл./час. Могут руководить вашими проектами разработки приложений, решать сложные технические задачи, замечать ошибки на ранних стадиях и обучать младших специалистов.
Технологический стек. Это набор различных инструментов разработки, включающий языки программирования, фреймворки, системы управления базами данных, компиляторы, API и прочее. От выбранного технологического стека зависят требования к аппаратным ресурсам («железу»), производительность и надежность приложения, а также время и стоимость его разработки. Технологический стек обычно делят на фронтенд, бэкенд и API.
Фронтенд — это пользовательский интерфейс и остальные элементы, с которыми взаимодействует конечный пользователь мобильного приложения. Вот пример технологического стека для фронтенда:
Бэкенд — это программно-аппаратная часть сервиса, которая отвечает за реализацию логики приложения и всего того, что скрыто от глаз пользователя. По сути, к этому относится все, что происходит вне устройства пользователя. Вот как может выглядеть стек бэкенда для разработки мобильного приложения:
API (Application Programming Interface) — это специальные протоколы для соединения фронтенда и бэкенда, а также интеграции различных внешних сервисов, расширяющих функциональные возможности приложения (геотаргетинг, платежные шлюзы, уведомления и т. п.). Вот пример набора API для разработки приложения:
Стоимость разработки мобильных приложений по этапам
Планирование разработки
Сколько компании тратят на планирование разработки, по данным Clutch
Этот этап может занять от 8 до 200 часов, в зависимости от сложности, ниши, целевой аудитории и бизнес-задач приложения. По данным Clutch, 51 % компаний тратит на планирование меньше 5 тысяч долларов, каждая пятая — от 5 до 10 тысяч долларов. И лишь небольшое число компаний тратит больше 10 тысяч долларов.
Сам этап планирования разработки включает, но не ограничивается:
Разработка дизайна приложения
Сколько стоит разработка дизайна мобильного приложения
В среднем на разработку дизайна приложения нужно от 40 до 80 часов, которые уходят на исследование пользователей, создание информационной архитектуры приложения и системы навигации. На базе всего этого дизайнеры создают каркасы, макеты и прототипы, которые разработчики реализуют в коде.
По данным Clutch, большинство компаний тратит на этот этап в среднем от 5 до 15 тысяч долларов, которых достаточно для реализации дизайна для 10–12 экранов приложения. Эти средства уходят на разработку:
- Фирменных стилей — логотипы, значки, цвета.
- Интерфейса приложения — внешний вид, контент.
- Типографики — шрифты, символы, значки.
- Окончательного дизайна/прототипа.
Разработки пользовательских функций
Пользовательскими называют функции, которые направлены на выполнение целей конечных пользователей. Простые примеры: регистрация, вход в систему, покупка товара, общение в чате, настройка интерфейса, поддержка нескольких языков и т. п. Как уже было сказано ранее, количество и глубина проработки данных функций во многом определяют время разработки приложения, а значит — и его стоимость.
При этом нужно понимать, что иногда даже простая функция, такая как вход в систему, может быть довольно сложной, например, если вы хотите создать единый вход, интеграцию службы AD, LDAP или системы аутентификации и авторизации на базе OpenID. Управление сеансами на нескольких устройствах (как в Spotify) и функции безопасности также могут сильно увеличить время и стоимость разработки.
В следующей таблице показаны приблизительное время и стоимость наборов самых популярных пользовательских функций, от простых до расширенных:
Разработка административных функций
Панель администратора также усложняет разработку мобильного приложения, однако она является одним из решающих элементов успеха большинства систем. Через эту панель ваши сотрудники могут управлять содержимым системы, заказами, платежами, пользователями и их данными, отчетами и аналитикой, безопасностью и прочим. Вот ориентировочное время разработки популярных функций панели администратора мобильного приложения, от простых до расширенных:
Разработка инфраструктуры приложений
Также в подсчете того, сколько стоит разработка мобильного приложения, нужно учесть время и усилия, которые вы должны потратить на разработку бизнес-правил, логики инфраструктуры приложений и API-интерфейсов для их использования. Это один из самых дорогих этапов разработки, который по уровню сложности уступает только реализации расширенных функций пользователя и администратора.
В перечень минимально необходимых элементов инфраструктуры входят:
- Решения для хранения данных.
- Настройки баз данных приложения.
- Шифрование данных и безопасность системы.
- Интеграция различных сторонних API.
- Масштабируемость приложения.
Реализация этих решений обычно требует от 100 до 240 часов на разработку, если речь идет об относительно простых приложениях. Если нужный вам сервис должен быть довольно сложным, то время на разработку инфраструктуры вашей площадки может понадобиться на порядок больше: зафиксированный максимум — 3 000 часов. При стоимости разработки 65 долл./час стоимость создания инфраструктуры в среднем будет составлять от 6 500 до 15 600 долларов и может достигать 195 000 долларов за одно мобильное приложение.
QA и тестирование приложения
Тщательное тестирование гарантирует работоспособность и надежность всех функций мобильного приложения. Кроме того, тестирование также нужно, чтобы найти ошибки в содержании и оптимизировать пользовательский поток, что очень важно для создания максимально приятного пользовательского опыта.
Необходимое количество времени для проверки приложения зависит от типов процедур тестирования, цели сервиса, его сложности, требуемого качества, а также количества экранов. Так, согласно опросу Clutch, 32 % компаний-разработчиков заявили, что на тестирование приложений они тратят менее 5 тыс. долларов, а 31 % агентств утверждают, что на это уходит 5 до 10 тыс. долларов.
Тестирование приложений обычно проводится по следующим направлениям:
- Тестирование пользовательского опыта.
- Тестирование устройств и платформ.
- Тестирование производительности.
- Функциональное тестирование.
- Тестирование безопасности.
- Гарантия качества.
Развертывание и публикация
Публикация вашего приложения в маркетплейсах стоит 99 долларов в месяц в случае Apple App и 25 долларов единоразово в случае Google Play Store. При этом на саму регистрацию вашего приложения в магазине нужно всего 30–60 минут, если учитывать время на подготовку нужной для регистрации информации.
Но вы должны учитывать возможность того, что маркетплейс обнаружит несоответствие правилам площадки, баги, проблемы с производительностью или несовместимостью. В этом случае маркетплейс дает разработчику немного времени на устранение обнаруженных проблем (2 дня в случае Apple App). Это еще от 8 до 20 часов работы QA-инженеров и/или программистов, в редких случаях — 50 часов. При средней почасовой ставке в 65 долл./час это будет стоить от 520 до 1 300 долларов, или максимум 3 250 долларов в редких случаях.
Обслуживание и поддержка
Расходы на обслуживание и обновление часто упускают из виду при подсчете стоимости разработки мобильных приложений, но это неправильно, поскольку ни одно программное обеспечение после релиза не будет идеальным. Обычно после запуска приложения пользователи находят баги, ошибки в содержании, проблемы с работой некоторых функций и т. п. И если вы их не устраните, то приложение получит негативные оценки в маркетплейсе, и его перестанут использовать.
Чтобы этого избежать, нужно обеспечить:
- Сбор обратной связи от пользователей.
- Оперативное устранение багов и ошибок.
- Обновление для поддержки всех ОС и новых устройств.
- Оптимизацию кода для улучшения производительности.
- Устранение проблем, связанных с масштабируемостью.
- Разработку новых функций и улучшение старых.
- Аварийное обслуживание.
Обычно на реализацию перечисленных выше мероприятий компании закладывают 25% от стоимости разработки в год. Это означает, что если на создание приложения вы потратили 200 тыс. долларов, то его обслуживание и обновление будет стоить 50 тыс. долларов в год, включая плату за хостинговые услуги и сторонние API.
Зарплаты разработчиков приложений
