Trace Id is missing
Пропустить и перейти к основному содержимому
человек, использующий мобильный телефон

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

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

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

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

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

Сидящий на диване человек использует игровой геймпад с гарнитурой
Женщина пишет на доске маркером

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

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

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

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

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

Стратегия

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

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

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

Проектирование

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

Разработка

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

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

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

Выпуск

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

Человек с настольным компьютером на столе пользуется мобильным телефоном

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

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

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

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

Уровень представления данных

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

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

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

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

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

Набор технологий

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

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

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

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

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

API

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

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

Человек проверяет статистику на своем планшете

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

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

Собственные приложения

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

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

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

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

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

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

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

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

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

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

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

Два человека разговаривают в зале

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

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

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

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

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

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

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

 

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

Обзор документации по Azure для мобильных разработчиков

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

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

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

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

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

    Подробнее

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

    Подробнее

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

    Подробнее

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

    Подробнее

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

    Подробнее

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

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

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

    Подробнее о DevOps

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

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