// Мобильные приложения
// Мобильные приложения
Ежедневно в Apple Store и Google Play появляются тысячи новых приложений, но лишь несколько из них становятся финансово успешными. Все остальные исчезают: 80% — в первый год, остальные — в течение следующих пяти лет. Главная причина их неудач — нежелание разбираться в нюансах мобильной разработки для бизнеса, что приводит к множеству необязательных ошибок. В этой статье мы расскажем о ключевых этапах, которые должен знать каждый, кто хочет разработать приложение под ключ.
Из каких этапов обычно состоит процесс создания мобильных приложений. Источник
Стратегия и видение. Первый шаг при запуске любого стартапа — понять, о чем именно будет ваш проект. Вы должны определиться с тем, что вы хотите, чтобы ваше приложение делало? Возможно, это приложение для онлайн магазина или финансовое приложение для банка. Каких целей вы хотите достичь и каким образом? Дав ответы на эти вопросы, вы сможете создать видение своего проекта: задачи, функции, ниша, целевая аудитория, монетизация, уникальное ценностное предложение и т. д.
После того как вы сформируете базовую концепцию будущего мобильного приложения, можно обращаться к вашей внутренней команде разработчиков или поставщику технических услуг на аутсорсинге. Вместе с разработчиками вы сможете более четко определить задачи проекта и пути их достижения. Распределение зон ответственности при разработке стратегии выглядит таким образом:
Анализ и планирование. После того как задачи поставлены и определены основные функции предложения, наступает время для анализа и планирования. Обычно на этом этапе подключают бизнес-аналитика, который создает техническую спецификацию, основанную на бизнес-задачах, передовых методах разработки приложений, анализе конкурентов и рынка, а также на собственном опыте.
В результате вы получите техническое задание проекта и подробный план разработки, который включает в себя описание бизнес-потребностей, функционала, технологического стека и API, требований к дизайну и макеты, который помогут вам и разработчикам говорить на одном языке. Дальше обговариваются сроки, каналы коммуникации и KPI. Когда все эти вещи согласованы, составляется договор.
Создание UI/UX дизайна. На этом этапе дизайнер создает концепцию UI/UX-дизайна для вашего приложения на основе каркасов, которые могут быть написаны бизнес-аналитиком или дизайнером UX. Дальше на основе каркасов создают макеты и прототипы пользовательского интерфейса приложения, например, для медитации.
На все это может уйти до 20% от всего процесса создания приложения, в зависимости от его сложности и глубины проработки. Разумеется, чем сложнее будет дизайн, тем больше времени и денег уйдет на его реализацию. Но это не означает, что на дизайне нужно экономить. Совсем наоборот: дизайн — это один из самых важных элементов успеха любого IT-стартапа, поскольку именно он больше всего влияет на первое впечатление и пользовательский опыт.
Написание программного кода. На этом этапе команде разработчиков предоставляют концепцию дизайна, макеты и техническую спецификацию. Они изучают эту информацию и приступают написанию программного кода приложения. Данный процесс в большинстве компаний обычно довольно гибкий, что означает, что весь он делится на спринты, и каждый следующий спринт может быть изменен в зависимости от того, что было достигнуто во время предыдущего. Во многом этот этап разработки зависит от проектного менеджера.
Скорость и стоимость разработки зависят от количества задействованных специалистов, их опыта и навыков, а также технологического стека. Обратите внимание, что сложные приложения как Uber требует намного больше усилий чем небольшое фитнес приложение. Обратите внимание, что разработчикам нужно будет какое-то время на начальном этапе, чтобы настроить среду разработки, базу данных, серверную часть и архитектуру. Если разработка разделена на отдельные блоки, то также понадобится время на объединение всех элементов в единую структуру и ее тестирование.
Тестирование как важный этап разработки мобильного приложения. В современном цикле разработки проверка кода часто происходит почти одновременно с его написанием: пока разработчики пишут код, QA-специалисты параллельно проводят различные автоматические тесты и вручную проверяют код. Такой подход помогает ускорить процесс тестирования и исправления ошибок: легче находить несоответствия в небольших фрагментах свежего кода, чем вносить изменения в большой код в конце разработки.
Сам процесс тестирования кода обычно включает следующие вещи:
Развертывание продукта. После того как приложение готово и все тесты подтвердили качество кода созданного программного обеспечения, мобильные приложения выпускаются на Google Play и App Store. Перед добавлением нового приложения в свои листинги эти маркетплейсы проверяют его на соответствие правилам площадки и минимальному качеству. Если в коде обнаружатся ошибки, у вас будет очень мало времени на их исправление (2 дня в App Store). Поэтому мы настоятельно не рекомендуем экономить время и бюджет на тестировании.
Техническое обслуживание. Обслуживание мобильного приложения обычно означает его улучшение для совместимости с новыми версиями операционных системы, устройств и платформ. Кроме того, это также подразумевает улучшение дизайна с функционалом и подключение различных сторонних сервисов. Благодаря всему этому ваше приложение будет оставаться актуальным на протяжении многих лет, а не только в первое время сразу после запуска.
Если вы выберете первый вариант, вот как это можно сделать:
Что касается состава команды разработчиков мобильных приложений, то он в большинстве случаев будет таковым:
Обычно такая архитектура подразумевает разделение всех компонентов приложения на клиентскую (front-end) и серверную (back-end) части, которые связаны между собой и с различными сторонними сервисами через API (Application Programming Interface). Набор компонентов для серверной и клиентской частей, а также API зависит от типа конкретного приложения, его функционала и задач. Правильное взаимодействие на этом этапе дает возможность обеспечить качество и скорость работы, особенно это важно при разработке крупных мессенджеров как Телеграм или Whatsapp.
Front-end. Включает в себя компоненты, с которыми взаимодействует конечный пользователь, например покупатель в магазине. Это пользовательский интерфейс (то, что видит конечный пользователь на своем экране) и интерфейс системы. Для создания клиентской части нужны специальные инструменты (технический стек для фронтенда). Вот пример такого стека для разработки мобильного сервиса управления электронными медицинскими картами (EMR):
Веб-серверы: nginx, Apache.Back-end. Программно-аппаратная часть системы, которая отвечает за работу с информацией и осуществление функционирования внутренней части приложения. Вот как выглядит технологический стек для разработки EMR-приложения:
Что касается местоположения, то это фактор важен, поскольку средняя зарплата мобильных разработчиков в разных регионах может отличаться в два-три раза. Так, программисты из Соединенных Штатов Америки в среднем получают 95 долл/час, Великобритании и Западной Европы — 67 долл/час, Восточной Европы — 32 долл/час, Африки и Азии — до 25 долл/час.
Вот ориентировочная стоимость разработки своего мобильного приложения в зависимости от его сложности и местоположения технического партнера: