Ноябрь, 2014

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

Приготовьтесь, будет дорого

Опубликовано: 28.11.2014 | 8467

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

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

Чеклист: Подготовка к разработке мобильного приложения

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

Шаг первый

В процессе диалога о стоимости разработки мобильного приложения удивляться приходится не только потенциальным заказчикам. Нас, например, удивляет абсолютное непонимание клиентами того, что разработка любого мобильного продукта – исключительно сложный процесс, который включает целый ряд технических нюансов (наподобие клиент-серверной модели). Большинство бизнесменов, которые приходят за разработкой об этом не знают. Да, в общем, они и не обязаны знать. Но поверхностное понимание процесса заставляет их рассчитывать на стоимость, никак не соответствующую реальности. Мы же, когда оцениваем проект, принимаем весь технический бэкграунд как должное. Словом, на этом этапе недоумевают обе стороны: заказчик удивляется, почему так дорого, а мы удивляемся, почему бизнесмен, глядя на нашу цену, не берет в расчет технические нюансы, без которых приложения попросту не будет (клиент-серверную модель взаимодействия).

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

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

Шаг второй

Осознать тот факт, что вам нужен сервер, – мало. Придется определить и способ, с помощью которого ваш мобильный телефон будет коннектиться к серверу, посылая и получая необходимую информацию. Универсального способа не существует, поэтому все должно быть тщательно настроено именно для вашего приложения. В качестве примера можно привести создание уникального языка, носители которого не хотят, чтобы их понимали другие, но при этом должны взаимодействовать и понимать друг друга.

Это называется созданием API для вашего приложения. И это самое API должно быть создано прежде, чем вы перейдете непосредственно к разработке приложения. Почему? Потому что прежде чем начинать общение, вы должны определиться, на каком языке будете говорить!

Все это ведет нас к третьему шагу, где мы попытаемся понять, как создать API.

Шаг третий

Не думайте, что самое сложное было решено на прошлых этапах, потому что API– это 50% всего решения. Разработка API– это практически то же самое, что и разработка целого сайта. Сначала вам надо определить модели данных, входные параметры вашей бизнес-логики, методы взаимодействий моделей данных и события, которые будут при этом происходить. Проще говоря, если повести аналогию с точки зрения пользователя, на выходе мы получим полноценный веб-сайт, страницы которого не будут показывать каких-либо графических результатов, они будут показывать только текст. Как пример: страница успешной авторизации будет содержать только одно слово: «Да!»

В это время ваш мобильный телефон посылает запрос к заданной конечной точке (странице логина) с заданным форматом ввода (пользователь + пароль), а потом интерпретирует результат, который возвращает страница (Да или Нет). Приложение не в состоянии авторизоваться самостоятельно с помощью какой-то невидимой магии. Это является одной из функций API.

мобильная разработка

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

Шаг четвертый

Лучше всего доверять разработку API и приложения одной команде. Ведь тогда специалисты будут точно знать, какую функцию API надо вызвать, чтобы приложение стало рабочим. Но если ваш API уже готов и задокументирован, можно делегировать команде только разработку непосредственно приложения. В этом случае имеет смысл еще и позволить разработчикам общаться с вашей бэк-энд командой (программисты, отвечающие за разработку серверной части приложения): это значительно упростит разработку мобильного приложения.

И только теперь – к приложению

Наконец, теперь вы можете начать думать непосредственно о приложении. В разработке мобильных приложений для бизнеса все достаточно строго: вам придется определить 100% объем и структуру дизайна вашего приложения перед тем, как разработчик начнет реализацию. В отличие от разработки веб-сайта разработка мобильного продукта подразумевает крайне небольшие отклонения от первоначальной задумки. Давайте предметно…

Дизайн интерфейса

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

Тщательно интегрированный код

Работая с вебсайтом вы можете свободно добавить еще одну страницу, затем создать ссылку на нее. Но с мобильным приложением это не пройдет: все должно быть организовано с самого начала. Потому что любое изменение может привести к таким последствиям, что вы даже не сможете понять, отчего так произошло. Структура написанного кода в приложении похожа на механизм с проводами, в котором все взаимосвязано. Вы, конечно, можете поменять парочку элементов, но если тронете не тот провод, все сразу же перестанет работать. Даже самый хорошо структурированный код не сильно повышает гибкость приложения. Добавление дополнительной кнопки с адресом электронной почты на экран «Контакты» может подразумевать добавление нескольких строк кода. Но добавление кнопки соцсети на ту же страницу – это совсем другая история. И не стоит даже надеяться, что это может быть сделано за несколько часов.

Преобразование мобильного приложения в приложение,

которое может быть использовано на планшете

Владельцы продукта часто думают, что это не требует много затрат. В самом деле?! К примеру, приложение для iPad намного сложнее, чем приложение для iPhone, и зачастую подразумевает разработку совершенно другого интерфейса и механизма взаимодействий. Это все равно что сконструировать электровелосипед и потом «переделать» его в мотоцикл, топливом для которого является бензин! Функции-то у них очень похожи, но по сути разница колоссальна. Это тоже один из моментов, над которым стоит подумать заранее.

Итак, вы все еще готовы приступить к разработке?

Будем надеяться, что после прочтения статьи у вас сложилось более грамотное представление о том, что необходимо вам или вашей компании, чтобы разработать мобильное приложение. Но мы можем еще больше углубить это представление. К примеру, сориентировав по срокам и ценам разработки мобильных приложений. Ждите новых публикаций.