Пропустить и перейти к основному содержимому

Что такое разработка мобильных приложений?

Изучите программное обеспечение и процессы, используемые для разработки мобильных приложений

Создание программного обеспечения для мобильных устройств

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

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

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

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

  • Стратегия
  • Планирование
  • Дизайн
  • Разработка
  • Тестирование
  • Выпуск

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

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

Стратегия

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

Планирование

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

Дизайн

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

Разработка

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

Тестирование

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

Выпуск

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

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

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

Техническая архитектура

Техническая архитектура часто понимается как трехуровневая:

Уровень презентации

Это слой приложения, который клиент видит и с которым взаимодействует. Уровень представления включает в себя пользовательский интерфейс и все элементы приложения, составляющие взаимодействие с пользователем.

Уровень бизнеса

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

Уровень данных

Уровень данных обслуживает требования самого приложения, предоставляя утилиты для работы с данными, компоненты доступа к данным и помощников или сервисных агентов. Это также слой, который проверяет и поддерживает данные и поддерживает транзакции данных.

Стек технологий

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

Внешний интерфейс

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

Серверная часть

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

API

Приложение взаимодействует между внутренним и внешним интерфейсом через API, что также позволяет приложению интегрироваться и взаимодействовать с другими приложениями и службами.

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

Типы мобильных приложений

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

Нативные приложения

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

Кроссплатформеные приложения

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

Прогрессивные веб-приложения

Как и веб-приложения, прогрессивные веб-приложения работают в мобильных браузерах и обычно создаются с использованием JavaScript, CSS и HTML5. Что делает веб-приложения прогрессивными, так это их способность предоставлять push-уведомления, улучшенные сенсорные жесты и взаимодействие с оборудованием с использованием расширенных возможностей браузера. Не существует SDK для создания прогрессивных веб-приложений, но их можно развернуть без использования Marketplace.

Гибридные приложения

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

Тип мобильного приложения для сборки

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

Когда вы решаете, какой тип мобильного приложения создать, полезно подумать, кто будет вашими пользователями и что им нужно от приложения. Например, если они используют в основном один тип устройства или операционную систему, лучше всего использовать нативное приложение. Приложения, которые не полагаются на аппаратные датчики или GPS, могут хорошо подходить в качестве прогрессивных веб-приложений или гибридных приложений, но, возможно, не подходят, если у ваших пользователей нет хорошего подключения. Если ваши пользователи являются членами вашего бизнеса или организации, вы можете рассмотреть другую стратегию разработки приложений для мобильных устройств. И, конечно же, все зависит от опыта организации и партнеров.

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

Сравнение типов мобильных приложений

Недоступно Нативные приложения Кроссплатформеные приложения Прогрессивные веб-приложения Гибридные приложения
Количество баз кода Один на платформу Один, но скомпилированный для каждой платформы Всего один Один для приложения, другой для контейнера
Языки и платформы Только машинный код Выбор команды Только в Интернете Веб и нативный
Доступ к SDKs и API Да Да Нет Ограничено
Производительность Максимальный Высокий Минимальный Низкий
Доступ к оборудованию устройства Завершить Наибольшее Очень мало Некоторые
Отклик на входные данные пользователя Хороший Хороший Наихудшее Низкий
Интерактивность Высокий Высокий Минимальный Низкий
Использование ресурсов устройства Высокий Высокий Низкий Средний
Требуется подключение Нет Нет Да Да
Затраты на сборку и обслуживание Максимальный Высокий Минимальный Нижний
Место хранения приложения Устройство Устройство Сервер Устройство и сервер
Развернуто через Marketplace Marketplace Браузер Marketplace
Требуется внешнее утверждение Да Да Нет Да

Платформы разработки мобильных приложений и программное обеспечение

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

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

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

  • Кроссплатформенные инструменты, такие как Xamarin, которые позволяют разработчикам создавать приложения для Android и iOS с использованием .NET и C#.
  • Инструменты Visual Studio для Xamarin, который использует единую общую кодовую базу для мобильных приложений Android, iOS и Windows.
  • Инструменты с низким кодом или без кода, такие как-code or no-code tools like Power Apps. Низкий код — это простой способ создавать приложения профессионального уровня без технической подготовки или опыта. Подробнее.

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

Изучите документы для разработчиков мобильных устройств в Azure

Найдите информацию, необходимую для разработки мобильных приложений в Azure. Узнайте больше о push-уведомлениях, аутентификации, аналитике и SDK.

Получите ресурсы и документацию разработчика мобильных устройств

Попробуйте создать мобильное приложение прямо сейчас

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

Начало работы с приложениями Android в облаке

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

  • Определение разработки мобильного приложения может быть широким — охватывающим все процессы, связанные с созданием и выпуском мобильного приложения, — или конкретным, относящимся к написанию кода и развертыванию приложения.

    Подробнее

  • Этапы процесса разработки мобильного приложения включают стратегию, планирование, дизайн, разработку, тестирование и выпуск.

    Подробнее

  • При принятии решения о том, какой тип мобильного приложения создать, полезно подумать, кто будет вашими пользователями и что им нужно от приложения.

    Подробнее

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

    Подробнее

  • Организации тратят на разработку мобильных приложений от трех до девяти месяцев и дольше, при необходимости.

    Подробнее

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

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

  • В названии DevOps объединены слова "development" (разработка) и "operations" (операции). DevOps можно определить как объединение людей, процессов и технологий с целью постоянного предоставления ценности клиентам. Культура, инструменты и методики DevOps помогают обеспечить координацию и совместную работу таких изолированных областей как разработка, ИТ-операции, контроль качества и безопасность, что позволяет создавать лучшие и более надежные мобильные приложения. DevOps помогает командам разработки быстрее реагировать на потребности клиентов, повышать доверие к разрабатываемым ими приложениям и быстрее достичь бизнес-целей команды.

    Дополнительные сведения о DevOps

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

    Дополнительные сведения о выборе поставщика облачных служб