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