11.1 Виды мобильных приложений
Критерии выбора при разработке мобильного приложения:
Прежде чем начать разработку мобильного приложения, необходимо определиться со следующими критериями:
- выбор устройств, популярных производителей и моделей
- выбор форм-фактора - стандарт, задающий габаритные размеры технического изделия, а также описывающий дополнительные совокупности его технических параметров, например форму, типы дополнительных элементов, размещаемых в/на устройстве, их положение и ориентацию.
Для этого необходима статистика по мобильным устройствам, гаджетам в тех регионах, в которых мы планируем реализовать наш продукт
К примеру, китайская компания планирует выпустить мобильный продукт под собственный рынок, разработчики начинают собирать информацию о рынке пользователей, о том какая операционная система популярна в Китае, какая платформа и версия.
После того как выбрана операционная система, нужно определиться наиболее популярными с версией данной системы, для того, чтоб мы могли поддерживать их длительное время, потому что каждая версия имеет свои особенности. Далее мы должны определиться с фирмами производителями и конкретным набором устройств. Определиться с версией браузера, если это мобильное веб приложение. Определиться с разрешением экрана и ориентацией экрана. Это все долгий и кропотливый труд, ведь ошибка на данном этапе будет очень дорога.
Типы мобильных приложений:
Нативные
Нативные – приложения которые находятся на самом устройстве, доступ к которым можно получить, нажав на иконку приложения на рабочем столе. Они скачиваются с магазина или браузера, или же можно скинуть установочный файл с персонального компьютера.
Эти приложения называют нативными оттого, что они написаны на родном (с англ. native – родной) для определённой платформы языке программирования. Для Android этим языком является Java или же Kotlin. Кстати, Kotlin был придуман российским разработчиком из компании JetBrains и назван в честь острова Котлин, который находится в Финском заливе и на котором находится Кронштадт, который так знаком всем жителям Санкт-Петербурга, тогда как для iOS – Swift.
Нативные приложения разрабатываются специально для конкретной платформы и могут использовать все возможности устройства, например – камеру, GPS-датчик, компас, список контактов и всё остальное. Также они могут распознавать стандартные жесты или те жесты, которые задаст пользователь.
Нативные приложения оптимизированы под конкретную ОС, они органично вписываются в любой смартфон, показывают хорошую скорость работы и производительность.
Способны обходиться без подключения интернета или частично использовать его.
Давайте рассмотрим плюсы нативных приложений
- Высокая и стабильная скорость работы и производительность;
- способность работать без подключения к сети Интернет;
- высокая степень безопасности;
- расширенный интерфейс;
- максимально возможная функциональность;
- удобство для конечного пользователя.
- разработка осуществляется для каждой платформы, например для Android своя версия продукта, для iOS своя (так как есть разные требования к приложениям)
- требует больше времени и затрат на разработку, так как требует специалистов с разными знаниями
- загрузка обновлений с использованием юзера
пример – приложение Shazam, которое осуществляет определение и поиск информации об играющей на другом устройстве песне:
- оно устанавливается из магазина приложений;
- для работы необходим доступ в Интернет;
- использует функционал телефон, то есть микрофон;
- нет открытия сторонних страниц из интернета, весь функционал исключительно в самом скаченном приложении;
Web
Web – веб-сайт, адаптированный для нашего мобильного приложения:
Веб-приложение, представляет собой сайт, который адаптирован и оптимизирован под любой смартфон. Для работы в нем, достаточно иметь на устройстве браузер, знать его адрес и обязательное условие - наличие Интернет-соединения.
Как понять что мы используем мобильное веб-приложение? Например, когда мы заходим в браузер и хотим открыть к примеру YouTube или ВКонтакте и вбиваем его в строку браузер, то нам появляется версия данного сайта, но в поле url будет стоять m.youtub или m.vkontakte. Что указывает что это мобильная версия данного приложения.
Запуская мобильные веб-приложения, пользователь выполняет все те действия, которые он выполняет при переходе на любой веб-сайт, а также получает возможность «установить» их на свой рабочий стол, создав закладку страницы веб-сайта.
Веб-приложения отличаются кроссплатформенностью, то есть способность работать, функционировать на любой ОС. Так же, веб-приложение не занимает памяти устройства, так как оно не требует его установки
Процесс разработки веб-приложений быстр, так как для их разработки существует множество инструментов, фреймворков и большое комьюнити разработчиков.
Плюсы мобильных веб-приложений:
- полный охват основных платформ;
- простой и быстрый процесс разработки;
- большое количество компетентных разработчиков;
- отсутствие необходимости загрузки приложений из маркетов.
Минусы мобильных веб-приложений:
- обязательное подключение к сети Интернет;
- скудный интерфейс приложения;
- отсутствует возможность отправки push-уведомления;
- производительность и скорость работы напрямую зависит от скорости интернета на устройстве;
- неудовлетворительный уровень безопасности.
Гибридные приложения
Гибридные приложения представляют собой сочетание веб и нативных приложений. Они могут быть загружены из маркетов вроде Google Play и App Store. Для их работы необходимо интернет-подключение. Без наличия последнего веб-функции попросту не работают.
Гибридные приложения набрали свою популярность по причине того, что они сочетают в себе характеристики как нативных так и веб-приложений. Однако, в отличие от нативных, стоимость создания гибридных на порядок ниже, а его скорость разработки – выше. В них есть возможность вносить оперативно изменения, например разработчикам не приходится, как в случае с нативными, повторно размещать приложение в плеймаркетах, ради устранения ошибок предыдущей версии.
Так же часто гибридные приложения являются кроссплатформенными, что ускоряет и облегчает процесс разработки. И стоит добавить, что они могут использовать функции самого устройства – камера, gps и т.д
Итак, стоит разрабатывать его, если:
- есть необходимость сэкономить в бюджетном плане;
- нужно создать относительно несложное приложение с простой анимацией;
- есть задача оперативной разработки приложения как минимум на 2 платформы.
- стоимость и скорость разработки;
- количество разработчиков;
- кроссплатформенность;
- опция автономного обновления.
- некорректная работа при отсутствии интернет-соединения;
- средняя скорость работы на фоне нативных;
- минимализм в отношении визуальных элементов.
Примером может служить – HeartCamera, приложение позволяющее украсить фотографию и поделиться ее с друзьями