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

Начнем с того, что мобильное приложение не существует само по себе на смартфоне пользователя, а взаимодействует с серверным программным обеспечением (его еще называют backend). Бэкенд – это скрытая часть айсберга, включающая математические алгоритмы, базы данных, сервисы взаимодействия с другими приложениями, порой она может быть в разы больше front-end'а, который реализует мобильное приложение. Конечно, если вы хотите заказать разработку мобильного приложения «Фонарик», то можно обойтись вообще без бекэнда, но, чаще всего, требуется создание именно распределенных систем, состоящих из клиентской части в виде мобильных приложений (iOS или Android) и серверного ПО.
Вообще, разработка мобильных приложений на заказ давно выделилась в отдельное направление услуг, поэтому ниже мы расскажем об особенностях этого процесса. Однако, компетенции специалистов нашей компании позволяют реализовать и мобильную и серверную компоненты проекта. Такой комплексный подход к проекту дает больше возможностей по разработке архитектуры, позволяет создать оптимальное по скорости и стоимости решение, распределив функционал между клиентским и серверным ПО, выбрав эффективные протоколы взаимодействия между ними.
Первое, с чего стоит начать проект мобильной разработки – это продумать, какой набор целевых устройств будет у вашей целевой аудитории (ЦА). И если для платформы iOS не так уж принципиально, какими iPhone пользуются клиенты (вариантов «железа» не так уж много и можно проверить мобильное приложение буквально на всех вариантах яблочных устройств), то для платформы Android характерен «зоопарк» конфигураций и нужно заранее решить, какой набор устройств будет приоритетным. Например, ваши пользователи техно-гики могут позволить себе эксперименты с малоизвестными брендами, ориентируясь на характеристики и тесты конкретных аппаратов, а корпоративные заказчики стремятся сократить затраты на техподдержку, выбирая экосистемные решения от гигантов типа Samsung или Huawei.
Выбрав целевые конфигурации (иногда можно задать фильтры по стоимости или году выпуска), можно перейти к планированию функционала и внутренней архитектуры. Именно такой порядок действий страхует заказчика от завышенных ожиданий по функционалу (например, сейчас вряд ли получится реализовать полнофункциональное решение для дополненной реальности, если ЦА пользуется аппаратами до $100). Именно на этом этапе раскрываются наши основные преимущества как универсальных разработчиков: мы готовы разработать архитектуру мобильных компонентов и серверных приложений как единого целого, учитывая стоимость владения готовой системой, включающей аренду серверов, необходимость обновлений, объемы передаваемой информации по мобильным каналам связи и аппаратные возможности смартфонов целевой аудитории. Подробнее с примерами наших комплексных проектов можно познакомиться в портфолио.
Еще одна развилка, которую нужно пройти, прежде чем заказать мобильное приложение для бизнеса – выбор между созданием нативных приложений отдельно для каждой операционной системы, прогрессивных веб-приложений (Progressive Web App – PWA) или единой кросс-платформенной программы, работающей и на iOS и на Android.
  • Нативные приложения работают быстрее, могут использовать все возможности операционной системы и аппаратного обеспечения. Но за максимум возможностей приходится заплатить двойной стоимостью разработки под каждую мобильную платформу.
  • PWA-приложения – это технология в разработке, которая добавляет веб-сайтам возможности мобильных приложений. В результате получатся гибрид сайта и приложения для мобильных устройств. У PWA есть свои недостатки: они потребляют больше энергии аккумулятора, не могут получить доступ ко всем функциям устройства, например, к календарю, камере, контактам и так далее. Но они гораздо проще в разработке и поддержке, их размер в десяток раз меньше классических приложений и для их использования не требуется установка из Google Play Store или Apple App Store.
  • Кросс-платформенные приложения имеют гораздо меньше ограничений по функционалу по сравнению с PWA, хотя и не могут сравняться с нативными приложениями по этому показателю. Зато вместо разработки двух версий для Android и Apple нужно создать только одно приложение, что делает данное решение привлекательным экономически.
Как правило, выбор технологии мы делаем вместе с клиентом, после анализа планируемого функционала и пожеланий по дальнейшему развитию приложения.
Третья особенность мобильного приложения – это то, как им пользуются: в 90% случаев это делается одной рукой на ходу, вглядываясь в маленький экран. Ошибка в положении кнопки или ее размере может привести к полной потери функциональности приложения. Поэтому, поиск подходящего интерфейсного решения при создании мобильного сервиса может занять гораздо больше времени, чем при разработке десктоп-приложения. Usability-аналитики и UX (User eXperience)-дизайнеры проводят десятки часов, выбирая простые, интуитивно понятные изображения элементов управления, их размер и логику взаимного расположения. Этот аспект разработки обычно рождает наибольшее непонимание со стороны клиентов, которые заказали создание мобильного приложение – казалось бы, что может быть сложного в десятке кнопок на 3-4 экранах? Это смотрится гораздо проще, чем любое приложение под десктоп. Но, в данном случае, кажущаяся простота стоит многих экспериментов и вариантов.
Подводя итог, в дополнение к стандартным этапам проработки требований, тестирования и развертывания, разработка мобильного приложения как услуга содержит шаги выбора целевой группы устройств и одного из трех методов создания мобильного ПО. Сам процесс проектирования требует гораздо больше внимания к эргономике приложения.
Если у вас есть задача по разработке мобильного приложения для бизнеса, но прочитав все выше, вы опасаетесь, что процесс сложный и ваших знаний будет недостаточно для его контроля, просто позвоните нам или напишите на почту. Мы на примере вашей конкретной задачи бесплатно предложим черновой вариант реализации и план работ, обсудим детали взаимодействия так, чтобы вы могли влиять на каждый шаг.