Ерошенко М.Н.

Брянский государственный университет им. ак. И.Г. Петровского, Россия

 

Сравнительный анализ видов мобильных приложений

 

Под мобильным приложением понимают компонент, устанавливаемый на мобильное устройство (телефон, планшет, фаблет, смартфон и т.п.) под конкретную мобильную платформу (Android, iOS, BlackBerry, HP webOS, Bada от Samsung и WindowsMobile), подключающийся к мобильному серверу и управляющий пользовательским интерфейсом и бизнес-логикой устройства.

Самыми первыми мобильными приложениями можно считать список контактов в телефоне и сервис для отправки и приёма SMS. Сейчас в связи с развитием сотовой связи и беспроводных технологий (Wi–Fi, WiMax, 3G, 4G) мобильные приложения ушли далеко вперёд.

Среди преимуществ таких приложений можно выделить:

·       отсутствие ограничений рассылок по длине графической и видеоинформации;

·       удобство продвижения приложений среди пользователей;

·       возможность сбора дополнительных данных о пользователе (местоположения, языка и др.);

·       практически неисчерпаемые возможности по интерактивности, ограничиваемые только возможностями аппаратуры.

Недостатки мобильных приложений:

·       далеко не все современные мобильные устройства, применяющиеся в настоящее время, поддерживают мобильные приложения;

·       пользователь открывает приложение только тогда, когда он этого захочет, а не по внешней команде, например, когда придет соответствующая SMS;

·       не очень большая аудитория (в основном молодежь);

·       относительная сложность продвижения (требуются специальные компетенции, чтобы сделать приложение популярным).

Приложения могут быть предустановлены на устройство в процессе производства, загружены пользователем с помощью различных платформ для распространения программного обеспечения, установлены провайдером услуг или существовать в формате веб-приложений на специализированном сайте.

К настоящему моменту сложилась устойчивая классификация мобильных приложений, состоящая из трех больших групп: нативные, веб- и гибридные приложения [1]. Рассмотрим эти группы более подробно.

Нативные приложения.

Особенностью данной группы мобильных приложений является то, что разрабатываются специально под конкретную платформу (например, под iOS для iPhone, под Android для устройств под управлением ОС Android или под Windows для WindowsPhone и т.д.) и требуют от разработчика специальных знаний и умений для работы в конкретной среде разработки (xCode, Objective C для iPhone, Java,eclipse для устройств на Android и т.д.). Как правило, для написания таких приложений используются только «родные» языки программирования высокого уровня, затем они компилируются в нативный код мобильной платформы (операционной системы), дающий максимальную производительность и возможность использования всех функций устройства, таких как камера, геолокация, адресная книга пользователя и др. Естественно, сам процесс разработки при этом достаточно трудоемкий. При этом нативные приложения почти всегда точно соответствуют всем возможностям конкретного устройства, на которое они были установлены (естественно, при условии выбора варианта установки под это устройство).

Другой их особенностью является то, что нативные приложения загружаются только через магазины приложений (AppStore, GooglePlay или его аффилиаты, магазин приложений Windows и т.д.) и устанавливаются непосредственно в ПО смартфона, планшета или другого устройства.

Эти программы обладают лучшей функциональностью, они максимально полно используют особенности оборудования, такие как камера, адресная книга, геолокация и дополненная реальность, что позволяет компаниям – разработчикам таких приложений предложить продукт с большими возможностями.

Нативные приложения, обычно, не требуют постоянного подключения к интернету, поскольку они используют функциональные возможности устройства, и могут работать в автономном режиме. Тем не менее, есть программы, которые не могут полнофункционально работать без наличия подключения к сети, например, для обновления или получения различных оперативных данных о погоде, дорожных пробках, расписании транспорта и т.д.

С точки зрения распространения, нативные приложения имеют более прозрачную статистику продаж, потому что они распространяются через магазин приложений производителя устройства или операционной системы. Это означает, что они имеют встроенную модель получения дохода, поскольку потребители в большинстве случаев платят деньги, чтобы скачать приложение. В случае, если приложение бесплатное, то там обычно устанавливается модуль показа рекламы, что также указывает на наличие встроенной модели получения дохода.

Недостаток нативных мобильных приложений заключается в том, что число пользователей, которые могут быть охвачены, ограничено, если приложение не совместимо со всеми устройствами. Разработчикам необходимо учитывать, какие именно аппаратные платформы в основном используются. Чтобы удовлетворить потребности максимального числа потребителей, приходится создавать приложения для нескольких различных мобильных платформ. Также требуется дополнительное время на разработку, рекламу, поддержку и обновление продукта для каждой платформы (iOS, Android и т.п.).

Таким образом, нативные приложения всегда ориентированы под конкретную ОС и органично выглядят в процессе работы. Такие приложения с легкостью могут использовать все доступные функции устройства (камера, микрофон, акселерометр, геолокация, адресная книга, плеер и т.д.), и при этом почти всегда достаточно бережно расходуют ресурсы (аккумулятор, память). В зависимости от назначения приложения предполагают или не предполагают наличие интернет–соединения. В качестве примера можно привести чрезвычайно популярный сегодня мессенджер Instagram.

Веб-приложения.

Веб-приложения очень часто называют html5-приложениями, поскольку это, по сути, сайт, оптимизированный под смартфон. Пользовательский интерфейс создается при помощи стандартных веб-технологий. Их не нужно загружать из магазина приложений, но они могут находиться в специальных магазинах веб-приложений, которые есть у некоторых современных браузерах, например у Chrome.

Веб-приложения используют для работы главным образом браузер телефона. Главной особенностью таких приложений является их кросс-платформенность – возможность работать на всех устройствах, без дополнительной адаптации.

Независимо от установленной ОС такие приложения не могут использовать аппаратные и программные средства устройства, поскольку язык html никогда не предусматривал и не предусматривает команд работы с аппаратными средствами. Для обновления информации в приложении необходимо обязательное подключение к Интернету, поскольку программный код приложения и весь информационный контент хранятся на серверах в сети, поэтому  скорость работы таких приложений всегда ограничена возможностями Интернет -соединения провайдера услуг.

Главным преимуществом веб-приложений является то, что они совместимы практически со всеми платформами и устройствами и для их работы используется один и тот же исходный код. При запуске приложения в браузере, оно запускается независимо от модели устройства. Это означает, что веб-приложение имеет более эффективную досягаемость, и нет нужды в отдельной разработке под каждую присутствующую на рынке платформу.

Веб-приложения используют существующие веб-технологии, такие как JavaScript, CSS и HTML5, снижая технические барьеры и риски. Эти технологии более доступны для специалистов самого широкого круга, и поэтому гораздо более широкий круг разработчиков может использовать свои существующие навыки для разработки веб-приложений, в то время как для разработки нативных приложений требуются специальные знания языков программирования высокого уровня, и может потребоваться дополнительное обучение.

Нативные приложения должны быть загружены и установлены на устройство заранее, до начала использования, в то время как веб–приложения могут быть найдены и использованы через поиск в браузере.

Однако, веб-приложения не используют многие аппаратные функции устройства, такие как камера или геолокация. Кроме того, веб-приложения не  распространяются через магазин приложений для конкретных устройств. По этой причине не требуется какого–либо согласования с третьей стороной (правообладателем). Также веб–приложение может обновляться в режиме реального времени в любой момент.

На сегодняшний день грань между веб–сайтом, оптимизированным под мобильное устройство или с адаптивной версткой, которая способствует адекватному его отображению на любом устройстве, и веб–приложениям очень тонкая. Как разработчики, так и пользователи в некоторых случаях путаются.

Существуют также некоторые авторитетные мнения, что рынок веб–приложений в ближайшие годы будет расти быстрее, чем рынок нативных приложений [2].

Гибридные приложения.

Гибридные мобильные приложения сочетают в себе некоторые функции нативных и веб-приложений: таких как кросс-платформенность и возможность использования аппаратных средств устройства. Такие приложения могут быть загружены через магазины приложений, и при этом имеют возможность независимого обновления информации. Гибридные приложения всегда требуют подключения к интернету, поскольку их веб-компонента обновляется через интернет. Такой способ построения мобильных приложений постепенно становится самым популярным, так как у него органическая среда распространения, но при этом разработка происходит быстрее и дешевле, чем в случае с нативными приложениями.

Это обусловлено тем, что,  хотя оболочка и написана на языке программирования высокого уровня, содержательная часть в том или ином объеме написана на html5. Пользователь же, скорее всего не заметит разницу между нативным и гибридным приложением.

Таким образом, гибридные мобильные приложения представляют собой не что иное как сочетание между нативными и веб-приложениями.

Используя специальные программные структуры и шаблоны (программистские Фреймворки), разработчики могут разрабатывать кроссплатформенные приложения, использующие веб–технологии (такие как HTML, JavaScript и CSS), и в то же время имеющие доступ к функциям устройства, то есть, отдельные части приложения написаны с использованием веб–технологий.  Веб–части же, в свою очередь могут быть загружены из Интернета, или уже упакованы в приложении.

Гибридное приложение позволяет компаниям сочетать преимущества нативных приложений с технологичекой актуальностью, обеспечиваемой самыми новыми веб–технологиями. [3]

Одним из популярных примеров гибридного приложения является Facebook. Оно загружается из AppStore и имеет все возможности родного приложения, но требует для работы подключение к интернету.

Ознакомившись с принципами работы разных категорий мобильных приложений, можно сделать вывод, что у них всех есть свои преимущества и недостатки, причем большинство из них – взаимоисключающие. Веб- приложения активно используют для работы сеть Интернет, но у них практически отсутствует возможность использования аппаратных средств устройства, а у нативных приложений – наоборот.

Основные преимущества и недостатки разных категорий мобильных приложений сведены в таблицу 1.

 

Таблица 1. Преимущества и недостатки мобильных приложений

Категория

Преимущества

Недостатки

Нативное

·    Максимальная функциональность и скорость работы

·    Не требуется Интернет-соединение для использования

·    Имеет доступ к ПО смартфона (GPS, плеер, камера)

·    Распространение через магазины приложений

· Выше стоимость и длиннее сроки разработки

· Требует от разработчика знаний определенной среды программирования

·  Работает с одной платформой

· При косметических изменениях необходимо обновление

Веб (HTML5)

·   Кросс-платформенность

·   Не требует загрузки из магазина мобильных приложений

·   Можно легко адаптировать обычный сайт

·   Легче найти веб–разработчика, чем разработчика под определенную платформу

·   Простота создания и поддержки

·      Требует подключения к Интернету

·      Не имеет доступа к ПО

·      Не может отправлять push–уведомления

·      Должен быть запущен Интернет–браузер

·      При продаже требуется использование своей платежной системы

Гибридное

·   Функциональность нативного приложения на независимой платформе

·   Запускается не из браузера, в отличии от веб-приложения

·   Возможность независимого обновления

·   Распространение через магазины приложений

·  Загружается из магазина мобильных приложений (необходимо соответствовать требованиям)

·  Разработчик должен быть знаком с разными API

 

 

В таблице 2 приведены данные социологического опроса пользователей и специалистов, проведенные Минской компанией – разработчиком мобильных приложений MakAapp.me [4], показывающие оценку мобильных приложений по нескольким различным характеристикам.

 

Таблица 2. Оценка мобильных приложений в баллах

Приложение

Характеристика                               

Нативное

Гибридное

Веб

Скорость работы

5

4

3

Удобство использования

5

5

2

Поддержка различных устройств

1

4

5

Использование аппаратных возможностей

5

4

1

Поддержка и развитие

2

4

5

Окупаемость

5

5

1

Сроки и стоимость разработки

1

4

5

Итого

24

30

22

 

Таким образом, из приведенного анализа видно, что гибридные приложения имеют меньше всего недостатков, при этом они органично объединяют достоинства двух других категорий – нативных и веб-приложений. Не вызывает сомнений, что рынок гибридных приложений будет стремительно развиваться и расти, а изучение средств разработки таких приложений является важной и актуальной задачей.

 

Литература

1.                 Черч Ш. Разработка гибридных веб-приложений, способных использовать аппаратные средства мобильных устройств // MSDN Magazine, март 2012: [Электронный ресурc]. – Режим доступа: http://msdn.microsoft.com/ru-ru/magazine/hh852592.aspx

2.                 Android Developers:  официальный сайт разработчиков Android [Электронный ресурс]. – Режим доступа: http://developer.android.com

3.                 Разработка гибридных приложений для мобильных устройств под Windows [Электронный ресурс]. – Режим доступа: http://www.intuit.ru/studies/courses/12574/1187/info

4.                 Официальный сайт разработчика мобильных приложений MakAapp.me [Электронный ресурс]. – Режим доступа: www.MakAapp.me