Разработка мобильных приложений — это действие или процесс, посредством которого разрабатывается мобильное приложение для одного или нескольких мобильных устройств , которые могут включать персональные цифровые помощники (PDA), корпоративные цифровые помощники (EDA) или мобильные телефоны . [1] Такие программные приложения специально разработаны для работы на мобильных устройствах с учетом многочисленных аппаратных ограничений. К общим ограничениям относятся архитектура и скорость ЦП, доступная память (RAM), ограниченные возможности хранения данных и значительные различия в дисплеях (технология, размер, габариты, разрешение) и методах ввода (кнопки, клавиатуры, сенсорные экраны со стилусами или без них). [2] Эти приложения (или «приложения») могут быть предварительно установлены на телефонах во время производства или доставлены как веб-приложения, использующие обработку на стороне сервера или клиента (например, JavaScript) для обеспечения «подобного приложению» опыта в веб-браузере . [3]
Сектор разработки мобильных приложений в Европе пережил значительный рост. В отчете Института прогрессивной политики за 2017 год подсчитано, что к январю 2017 года в экономике приложений в ЕС было 1,89 млн рабочих мест , что на 15% больше, чем в предыдущем году. Эти рабочие места включают в себя такие роли, как разработчики мобильных приложений и другие должности, поддерживающие экономику приложений. [4]
Для облегчения разработки приложений для мобильных устройств и обеспечения их согласованности были использованы различные подходы.
Большинство компаний, поставляющих продукцию (например, Apple, iPod/iPhone/iPad), предоставляют официальный комплект разработчика программного обеспечения (SDK). Они также могут выбрать предоставление некоторой формы тестирования и/или контроля качества (QA). В обмен на предоставление SDK или других инструментов потенциальному разработчику может потребоваться подписать некоторую форму соглашения о неразглашении, или NDA, которое ограничивает обмен привилегированной информацией.
В рамках процесса разработки дизайн мобильного пользовательского интерфейса (UI) является важным шагом в создании мобильных приложений. Дизайнеры мобильного пользовательского интерфейса рассматривают ограничения, контексты, экранное пространство, методы ввода и мобильность в качестве контуров для дизайна. Ограничения в дизайне мобильного пользовательского интерфейса, которые включают ограниченный объем внимания пользователя и форм-факторы, такие как размер экрана мобильного устройства для руки(рук) пользователя. Контекст мобильного пользовательского интерфейса включает сигнальные сигналы от активности пользователя, такие как место или время использования устройства, которые можно наблюдать из взаимодействий пользователя в мобильном приложении. Такие контекстные подсказки могут использоваться для предоставления автоматических предложений при планировании встречи или мероприятия или для фильтрации списка различных услуг для пользователя.
Пользователь часто является центром взаимодействия со своим устройством, а интерфейс включает в себя компоненты как аппаратного, так и программного обеспечения. Ввод данных пользователем позволяет пользователям манипулировать системой, а вывод данных устройства позволяет системе указывать на последствия манипуляций пользователей.
В целом, цель дизайна мобильного пользовательского интерфейса — в основном понятный, удобный интерфейс. Функциональность поддерживается мобильными корпоративными платформами приложений или интегрированными средами разработки (IDE).
Разработчикам мобильных приложений также приходится учитывать большой выбор устройств с разными размерами экранов, техническими характеристиками оборудования и конфигурациями из-за жесткой конкуренции на рынке мобильного оборудования и изменений на каждой из платформ.
Сегодня мобильные приложения обычно распространяются через официальный онлайн-магазин или маркетплейс (например, Apple - The App Store, Google - Google Play), и существует формализованный процесс, посредством которого разработчики представляют свои приложения для одобрения и включения в эти маркетплейсы. Однако исторически так было не всегда.
Мобильные пользовательские интерфейсы (UI) или фронтенды (front-end) полагаются на мобильные бэкенды для поддержки доступа к корпоративным системам. Мобильный бэкенд облегчает маршрутизацию данных, безопасность, аутентификацию, авторизацию, работу в автономном режиме и оркестровку сервисов. Эта функциональность поддерживается сочетанием компонентов промежуточного программного обеспечения , включая серверы мобильных приложений, мобильный бэкенд как услугу (MBaaS) и инфраструктуру сервисно-ориентированной архитектуры (SOA).
Пакеты разработки программного обеспечения, необходимые для разработки, развертывания и управления мобильными приложениями, состоят из множества компонентов и инструментов, которые позволяют разработчику писать, тестировать и развертывать приложения для одной или нескольких целевых платформ.
Инструменты разработки front-end ориентированы на пользовательский интерфейс и пользовательский опыт (UI-UX) и предоставляют следующие возможности:
Ниже перечислены наиболее важные инструменты.
К инструментам первой стороны относятся официальные SDK, опубликованные компанией, ответственной за разработку конкретной аппаратной платформы (например, Apple, Google и т. д.), или от ее имени, а также любое стороннее программное обеспечение, которое официально поддерживается для целей разработки мобильных приложений для этого оборудования.
Инструменты бэкэнда продолжают работу инструментов фронтэнда и предоставляют набор повторно используемых сервисов, которые централизованно управляются и контролируются и предоставляют следующие возможности:
Доступные инструменты перечислены ниже.
Поскольку принесение собственного устройства (BYOD) становится нормой во многих предприятиях, ИТ-отделам часто требуются временные, тактические решения, которые накладываются поверх существующих приложений, телефонов и компонентов платформы. Функции включают
Для создания функционирующей платформы для разработки мобильных приложений необходимо множество компонентов системного уровня.
Критерии выбора платформы разработки обычно включают целевые мобильные платформы, существующую инфраструктуру и навыки разработки. При ориентации на более чем одну платформу при кроссплатформенной разработке также важно учитывать влияние инструмента на пользовательский опыт . Производительность является еще одним важным критерием, поскольку исследования мобильных приложений показывают сильную корреляцию между производительностью приложения и удовлетворенностью пользователя. Наряду с производительностью и другими критериями, доступность технологии и требования проекта могут стимулировать разработку между нативными и кроссплатформенными средами. Чтобы помочь сделать выбор между нативными и кроссплатформенными средами, были опубликованы некоторые рекомендации и контрольные показатели. Как правило, кроссплатформенные среды можно повторно использовать на нескольких платформах, используя нативный контейнер при использовании HTML, CSS и JavaScript для пользовательского интерфейса. Напротив, нативные среды нацелены на одну платформу для каждой из этих сред. Например, разработка для Android осуществляется в среде Eclipse IDE с использованием плагинов Android Developer Tools (ADT), разработка для Apple iOS осуществляется с использованием среды Xcode IDE с Objective-C и/или Swift, Windows и BlackBerry имеют свои собственные среды разработки.
Мобильные приложения сначала тестируются в среде разработки с использованием эмуляторов, а затем подвергаются полевым испытаниям . Эмуляторы предоставляют недорогой способ тестирования приложений на мобильных телефонах, к которым разработчики могут не иметь физического доступа. Ниже приведены примеры инструментов, используемых для тестирования приложений в самых популярных мобильных операционных системах .
Инструменты включают в себя
Согласно отраслевому отчету о приложениях за 2020 год, 46% пользователей мобильных приложений заявили, что прекратили использовать или удалили приложение из-за его низкой производительности. [9] Эксперты по дизайну выступают за следующие принципы дизайна для создания успешных и эффективных мобильных приложений:
Экраны без беспорядка: поддерживают быстрое и простое взаимодействие, позволяя пользователям сосредоточиться на одной конкретной задаче, а не перегружаться множеством функций и задач. Эксперты по дизайну настоятельно рекомендуют размещать одну задачу на экране и рекомендуют разбивать длинные формы на страницы и постепенно открывать новые задачи или поля, чтобы минимизировать беспорядок. [10]
Снижение когнитивной нагрузки: делает путешествие пользователя по приложению плавным и сохраняет естественный поток через приложение. Эксперты по дизайну предлагают включить автозаполнение , проверку орфографии , помощь с подсказками текста и раскрывающиеся меню для снижения когнитивной нагрузки. Эксперты по дизайну также рекомендуют сохранять состояние приложения, когда пользователи временно покидают приложение и снова входят в него, чтобы пользователи могли продолжить свое путешествие с того места, где они остановились. [10] [11]
Простая навигация: около 11% людей удалили приложения из-за их сложного интерфейса . [9] Эксперты по дизайну утверждают, что крайне важно представить панель навигации в вашем приложении наглядно, чтобы помочь пользователям мгновенно переходить к часто используемым и высокоприоритетным экранам. Они предлагают использовать узнаваемые значки, характерные для операционной системы устройства, чтобы помочь пользователям легко выполнять такие действия, как открытие меню, изменение настроек, возврат на предыдущий экран и поиск на странице. По их словам, пользователь не должен путаться во время навигации по приложению, поэтому упорядоченный, понятный и логичный поток навигации стимулирует взаимодействие и обнаружение в приложении. [10] [11]
Уведомления: сообщается, что около 19% пользователей удаляют приложение из-за частых push-уведомлений. [9] По мнению экспертов по дизайну, уведомления следует отправлять с тщательным планированием. Эксперты утверждают, что уведомления следует отправлять в наиболее удобное для пользователей время в их часовом поясе, а сообщения должны быть персонализированными, чтобы приносить им большую пользу. [10]
Скорость Внешний вид: Около 19% людей удаляют приложения из-за проблем с зависанием. [9] Эксперты по дизайну утверждают, что важно убедиться, что приложение быстрое и отзывчивое, чтобы пользователям не приходилось ждать контент. Они утверждают, что разработчики должны доставлять контент быстрее или давать ощущение прогресса. Некоторые подходы, предлагаемые экспертами, включают использование скелетных экранов, которые показывают макет приложения с контентом, выделенным серым цветом, полосы выполнения или загрузочные спиннеры, задачи, выполняемые в фоновом режиме, и быструю доставку контента, когда пользователь запрашивает его, или предоставление пользователям некоторых задач или контента, пока они ждут загрузки страницы. [10]
Удобство использования: приблизительно 85% пользователей мобильных устройств используют свои телефоны одной рукой, [9] поэтому эксперты по дизайну утверждают, что важно, чтобы меню верхнего уровня, часто используемые элементы управления и общие элементы действий находились в пределах досягаемости большого пальца пользователя. Они также подчеркивают важность читабельности и рекомендуют, чтобы размер текста был не менее 11 пунктов, чтобы пользователи могли читать его на типичном расстоянии чтения без увеличения. [10] Рекомендуется, чтобы заголовки и названия на экранах приложений были San Francisco 17pt и Roboto 16sp для iOS и Android OS соответственно. [11] Эксперты также утверждают, что минимальный коэффициент контрастности между текстом и фоновым цветом должен составлять 4,5:1 . [10] Эксперты по дизайну настоятельно рекомендуют разработчикам делать приложения доступными для всех пользователей, включая людей с ограниченными возможностями , поэтому они предлагают такие функции, как голосовая навигация , совместимость с программами чтения с экрана и адаптивность пользовательского интерфейса в мобильных приложениях. [11]
Многие патентные заявки ожидают рассмотрения для новых приложений для мобильных телефонов. Большинство из них находятся в технологических областях бизнес-методов, управления базами данных, передачи данных и интерфейса оператора. [12]
делает Visual Studio для Mac — переименованную версию Xamarin Studio для Mac — общедоступной.