Мобильные приложения
В этом уроке вы узнаете, что такое мобильное приложение, как оно связано с платформой смартфона или планшета, какие ограничения и возможности имеют мобильные приложения и как их можно разрабатывать.
Что такое мобильное приложение
Мобильное приложение — это приложение, разработанное для использования на мобильных устройствах, например, смартфонах или планшетах.
По данным Яндекс Метрики, сейчас смартфоны популярны более чем у 65% пользователей различных электронных устройств. Если у человека есть смартфон, значит, он регулярно использует мобильные приложения.
Мобильные приложения так же, как и десктоп-приложения:
- Требуют установки перед началом использования.
- Могут работать как в связке с сервером через сеть Интернет, так и автономно.
- Зависят от операционной системы мобильного устройства.
- Требуют обновления при выпуске новой версии, но чаще всего можно настроить автоматическое обновление через магазин приложений.
Ключевое отличие мобильных приложений от десктопных в специфике мобильных устройств — они маленькие. У мобильных устройств небольшой экран и, как правило, нет физической клавиатуры (если вы, конечно, не подключили переносную клавиатуру к планшету). Из-за размера мобильных устройств на них не так удобно писать диплом или разрабатывать программный код, как, например, на стационарных компьютерах, поэтому сценарии использования этих устройств различаются.
Поскольку сценарии использования различаются, неодинаков и режим работы приложений. В десктоп-приложении пользователь обычно работает долго, сидя за столом, мобильное приложение можно использовать пять минут в вагоне метро, затем три минуты в очереди в столовой, потом ещё семь минут на скамейке в парке.
Сейчас программное обеспечение может получить практически любой предмет (например, часы, роботизированная бытовая техника и другие устройства), а значит, расширяется и понятие «мобильное устройство». Не исключено, что через пару лет мобильным устройством будут называться «умные» кроссовки, как у Марти Макфлая.
Мобильные приложения — не то же самое, что мобильные версии веб-приложений (например, сайт Яндекс Практикума, который вы можете открыть как в веб-браузере компьютера, так и в веб-браузере смартфона). Яндекс Практикум — это то же веб-приложение, которое работает через веб-браузер, просто при просмотре с мобильных устройств страница адаптируется под меньший экран.
В трёхзвенной архитектуре мобильные приложения выступают в роли клиента. Чаще всего такое приложение — один из клиентов, потому что нельзя ожидать того, что 100% пользователей имеют смартфон. Например, у мессенджера Slack есть все три клиента — и веб-приложение, и десктоп-приложение, и мобильное приложение.
Направление разработки мобильных приложений сравнительно молодое. Мобильные приложения появились позже веб-приложений и десктоп-приложений, но при этом уже набирают популярность.
Вероятность того, что на новом месте работы системный аналитик будет участвовать в разработке мобильного приложения, с одной стороны, высока, так как разработкой мобильных приложений занимаются довольно много компаний. С другой стороны, это специфичная область: разработчик мобильных приложений — это отдельная профессия, а его задачи не так часто сочетаются с разработкой других видов приложений. Инженер по тестированию или системный аналитик также должны обладать специальными знаниями и навыками при работе с мобильными приложениями.
Платформы для мобильных приложений
Операционную систему мобильных устройств называют «платформой». Самые популярные среди них, по данным Яндекс Метрики, — Android (разработчик — компания Google) и iOS (разработчик — компания Apple). При этом iOS используется только на мобильных устройствах Apple, тогда как Android — открытая платформа, которую можно использовать на разных мобильных устройствах.
Платформы существенно различаются между собой. Как и десктоп-приложения, мобильное приложение, которое написано для одной платформы, не будет работать на другой. Но есть способ, который позволяет из одного программного кода делать сразу два приложения — и для iOS, и для Android.
Виды мобильных приложений
Существует несколько видов мобильных приложений: нативные приложения, прогрессивные веб-приложения, кроссплатформенные приложения.
Нативные приложения (native — родной) — мобильные приложения, которые разрабатываются под конкретную платформу (Android или iOS). Они работают только на выбранной платформе и написаны на «родном» для этой платформы языке. Главное преимущество нативных приложений — на выбранной платформе они работают максимально быстро и могут использовать все доступные функции платформы.
Зависимость от платформы в то же время и недостаток нативных приложений: разработчикам придётся создавать два кода, идентичных друг другу по принципу работы, но адаптированных под конкретную платформу. Такие приложения сложнее поддерживать, ведь потребуются специалисты, которые понимают особенности разработки для каждой из платформ.
Кроссплатформенное приложение — мобильное приложение, которое поддерживает работу сразу на двух платформах — и Android, и iOS. При разработке кроссплатформенного приложения из одного программного кода можно получить сразу два приложения — одно для iOS, второе для Android. Теперь нет необходимости разрабатывать два отдельных приложения, то есть писать код дважды. Недостатки такого вида мобильных приложений — скорость работы ниже, чем у нативных мобильных приложений, и недоступность некоторых особенностей платформ, на которых работает кроссплатформенное приложение.
Прогрессивное веб-приложение — веб-приложение, которое только «притворяется» мобильным. Например, в iOS любое веб-приложение можно добавить в закладки веб-браузера и вынести иконку этого приложения на экран «Домой». Таким образом, оно будет выглядеть как остальные мобильные приложения, но по факту это по-прежнему веб-приложение, для доступа к которому нужен веб-браузер. Так, например, банк ВТБ предлагал использовать своё веб-приложение для платформы iOS, когда его мобильное приложение удалили из AppStore.
Технология создания прогрессивных веб-приложений позволяет использовать веб-браузер как клиент для запуска приложения на устройстве. Прогрессивное веб-приложение внешне напоминает нативное мобильное приложение, но не обладает расширенными правами и функциями, которые доступны нативным приложениям. Этот вид можно отнести к гибриду мобильных приложений и веб-приложений.
Особенности работы с мобильными приложениями
Сравнительно небольшая площадь экрана мобильных устройств ограничивает количество элементов управления (полей, кнопок, переключателей). Поэтому важно понимать, что нужно отобразить пользователю обязательно, а что ему не понадобится в данный момент, ведь пространство ограничено. Для того чтобы определить, что и как отображать, необходимо хорошо понимать путь пользователя, от самого начала до конца, с возможностью вернуться назад в любой момент. Плохо спроектированный путь пользователя в мобильном приложении может привести к недовольству.
В процессе работы мобильного приложения пользователь со смартфоном может зайти в подземный переход, и у него на минуту пропадёт доступ к интернету, ему может поступить входящий звонок, и придётся переключиться в другое приложение, а ещё смартфон может разрядиться и выключиться. Мобильное приложение должно корректно реагировать на все эти события. Для этого системный аналитик должен держать подобные ситуации в уме и предусмотреть логику их обработки приложением.
Если мобильное приложение взаимодействует с сервером, как в примере с доставкой еды, то, скорее всего, мобильным приложением и сервером будут заниматься разные разработчики (а иногда даже и разные команды). Системный аналитик должен понимать, какая функциональность реализуется в мобильном приложении, какая — на сервере, как они взаимодействуют между собой. Знать об этом необходимо как минимум для того, чтобы понимать, с кем из разработчиков можно обсудить эту часть приложения.
В мире много мобильных устройств и версий мобильных платформ. У одного пользователя может быть HTC Legend 2010 года на Android версии 2.2 и с разрешением экрана 320×480 пикселей, а у другого — Samsung Galaxy S22 2022 года на Android версии 12 и с разрешением экрана 2400x1080 пикселей. Сложно сделать мобильное приложение, которое будет одинаково хорошо работать и у первого, и у второго пользователя. На старте работы над мобильным приложением важно договориться о том, какие платформы, какие версии и разрешения экрана мы будем поддерживать.
Сопоставьте термины с их определениями.
Это приложение, доступ к которому осуществляется через веб-браузер.
Веб-приложение
Это приложение, которое устанавливается на устройство (компьютер), доступно только в рамках устройства, на котором установлено.
Десктоп-приложение
Это приложение, разработанное для использования на мобильных устройствах (смартфоны, планшеты и другие устройства), учитывающее особенности платформ, на которых будет запущено приложение.
Мобильное приложение
Это специальная программа, установленная на ваш компьютер, которая позволяет пользоваться сетью Интернет для поиска, скачивания файлов и открытия страниц и веб-приложений.
Веб-браузер
Это совокупность программ для управления машиной (компьютером).
Операционная система
Мобильное приложение, которое разрабатывается под конкретную платформу (Android или iOS), работает только на выбранной платформе и написано на «родном» языке для этой платформы.
Нативное приложение
Веб-приложение, использующее технологию, которая позволяет использовать веб-приложение как мобильное.
Прогрессивное веб-приложение
Мобильное приложение, поддерживающее работу на двух платформах (Android и iOS).
Кроссплатформенное приложение
Преимущества и недостатки мобильных приложений
Преимущества
- Мобильные приложения доступны для работы сразу после установки.
- Существуют различные виды мобильных приложений, в зависимости от целей и ресурсов можно выбрать подходящий: нативное мобильное приложение, кроссплатформенное и прогрессивное веб-приложение.
Недостатки
- У мобильных устройств небольшой экран, а значит, нужно продумывать визуализацию и то, как пользователь будет взаимодействовать с приложением.
- Мобильные приложения доступны только с мобильных устройств.
- Чаще всего для полноценной работы с мобильным приложением требуется доступ в сеть Интернет. Доступ может быть нестабильным, а значит, приложение не сможет в какой-то момент работать в полную силу.