Приложения, предназначенные для определенного устройства или платформы, например Android или iOS, называются нативными приложениями. Эти приложения работают непосредственно в операционной системе устройства, используют языки и платформы, предоставляемые платформой, и развертываются через магазин или marketplace, характерный для операционной системы. Нативные приложения обычно имеют полный доступ ко всем функциям и оборудованию устройств, на которых они работают.
Кроссплатформеные приложения
Команды могут писать код в приложении на языках и платформах по своему выбору, а затем компилировать код для каждой операционной системы, для которой предназначено приложение, используя такие платформы, как Xamarin. Кроссплатформенные приложения, как их называют, позволяют командам работать на множестве различных устройств и повторно использовать большую часть кода, хотя объединение кода требует больше работы, чем разработка только для одной платформы.
Прогрессивные веб-приложения
Как и веб-приложения, прогрессивные веб-приложения работают в мобильных браузерах и обычно создаются с использованием JavaScript, CSS и HTML5. Что делает веб-приложения прогрессивными, так это их способность предоставлять push-уведомления, улучшенные сенсорные жесты и взаимодействие с оборудованием с использованием расширенных возможностей браузера. Не существует SDK для создания прогрессивных веб-приложений, но их можно развернуть без использования Marketplace.
##### Преимущества для бизнеса
* В процессе установки приложения нет посредника
* Автономность в процессе обновления приложения
* Непрерывный цифровой путь со случайной или несуществующей интеграцией
* Время загрузки сведено к минимуму
* Более высокий уровень роста и конверсии пользователей
##### Преимущества для пользователей
* Быстрое время загрузки
* Отличная производительность при неблагоприятных сетевых проблемах
* Функции, подобные приложениям
* Автоматические обновления
Гибридные приложения
Гибридные приложения, представляющие собой смесь нативных приложений и прогрессивных веб-приложений, по сути представляют собой контейнеры с собственным кодом, которые запускают веб-приложения. Эта комбинация позволяет приложению получить больший доступ к функциям и оборудованию устройств и работать на большем количестве типов устройств, сохраняя при этом единую кодовую базу. При всех своих преимуществах гибридные приложения, как правило, не достигают производительности мобильных приложений других типов.
Сравнение типов мобильных приложений
Характеристики |Нативные приложения |Кроссплатформеные приложения |Прогрессивные веб-приложения |Гибридные приложения
-------------------|--------------|--------------|--------------|--------------|
Количество баз кода |Один на платформу |Один, но скомпилированный для каждой платформы |Всего один |Один для приложения, другой для контейнера
Языки и платформы |Только машинный код |Выбор команды |Только в Интернете |Веб и нативный
Доступ к SDKs и API |Да |Да |Нет |Ограничено
Производительность |Максимальный |Высокий |Минимальный |Низкий
Доступ к оборудованию устройства |Завершить |Наибольшее |Очень мало |Некоторые
Отклик на входные данные пользователя |Хороший |Хороший |Наихудшее |Низкий
Интерактивность |Высокий |Высокий |Минимальный |Низкий
Использование ресурсов устройства |Высокий |Высокий |Низкий |Средний
Требуется подключение |Нет |Нет |Да |Да
Затраты на сборку и обслуживание |Максимальный |Высокий |Минимальный |Нижний
Место хранения приложения |Устройство |Устройство |Сервер |Устройство и сервер
Развернуто через |Marketplace |Marketplace |Браузер |Marketplace
Требуется внешнее утверждение |Да |Да |Нет |Да