Мобильные приложения: нативные vs html5 vs гибридные

Эра смартфонов

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

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

Если человек уже принял решение о необходимости создания мобильного приложения, один из следующих этапов — определиться, какой тип приложения выбрать. Будет ли это нативное приложение? Или лучше выбрать веб-приложение? Что такое гибридное приложение, и почему его предлагают? Если Вам не понятно, о чем это я, то эта статья для вас. Если понятно, то вы сможете систематизировать свои знания или укрепиться в своем правильном выборе. И, при желании, написать мне о своем мнении или задать вопросы.

Итак, из этой статьи Вы узнаете:

  • Какие бывают мобильные приложения;
  • Какие преимущества Вы получаете при выборе определенного типа приложений;
  • Какие существуют ограничения у разных типов приложений;
  • Какое приложение подойдет именно вам в конкретной ситуации.

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

Нативные приложения загружаются через магазины приложений (App Store, Google Play или его аффилиаты, магазин приложений Windows и т.д.) и устанавливаются в ПО смартфона. Важным отличием является то, что нативные приложения разрабатываются специально под конкретную платформу (например, под iOS для iPhone, под Android для устройств под управлением ОС Android или под Windows для Windows Phone и т.д.) и требуют от разработчика специальных знаний и умений для работы в конкретной среде разработки (xCode для iPhone, eclipse для устройств на Android); более того, используется только «родные» языки программирования для написания таких приложений. Естественно, сам процесс при этом более трудоемкий.

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

Первый пример — приложение Shazam, осуществляющее определение и поиск информации об играющей на другом устройстве песне (в App Store, в Google Play):

  • Устанавливается из магазина приложений;
  • Для работы необходим доступ в интернет;
  • Использует диктофон телефона.
12 22

Второй пример — не менее известное приложение Instagram (описание и ссылки для скачивания в магазинах):

  • Устанавливается из магазина приложений;
  • Для работы также необходим доступ в интернет;
  • Использует ПО смартфона: камера, геолокация, адресная книга; Можно включить получение push-уведомлений.
3 41

Веб-приложения, или приложения на html5

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

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

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

Например, last.fm считается веб-приложением, хотя, по сути, это в тоже время и веб- сайт. Или maps.google.com — веб-сайт, но в тоже время это и веб-приложение.
51

Дело в том, что веб-технологии развиваются так стремительно, что разница начинаетnразмываться, и сайты все более становятся похожими на веб-приложения. Разницу, хотя и спорно, можно по-простому описать так: сайт представляет собой в большей степени статическую информацию (по сути, цифровая брошюра или листовка); а если пользователь с этойnинформацией может взаимодействовать (менять тексты местами, менять оформление, создавать собственные страницы и т.д.), то это уже веб-приложение. Еще разницу можно объяснить так: то, что принято называть онлайн-сервисами, а также то, что раньше делалось на флешовых сайтах, а сейчас с помощью html5, то веб-приложение.

61

Здесь осталось только заметить, что не все веб-приложения оптимизированы под мобильные телефоны. Что, конечно, не может быть нашим случаем.

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

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

Примеры гибридных приложений:

1. Приложение HeartCamera для iOS, позволяющее украсить фотографию рисованными сердцами и т.п.

  • Загружается из магазина;
  • Использует камеру телефона;
  • Необходимо подключение к интернету при желании поделиться результатом своей работы;
  • Можно настроить push-уведомления.
71 81

2. Приложение TripCase — органайзер для планирования путешествий. (Ссылки для скачивания в магазинах доступны на сайте )

  • Загружается из магазина;
  • Может использовать геолокацию;
  • Необходимо подключение к интернету;
  • Может использовать сотовую сеть;
  • Можно настроить push-уведомления
9 10

Таблица преимуществ и недостатков

Преимущества Недостатки
Нативное
  • Максимальная функциональность и скорость работы
  • Не требуется интернет- соединение для использования
  • Имеет доступ к ПО смартфона (GPS, плеер, камера) Распространение через магазины приложений
  • Выше стоимость и длиннее сроки разработки
  • Требует от разработчика знаний определенной среды программирования
  • Работает только с одной платформой
  • При косметических изменениях необходимо выпускать обновление
Веб (HTML5)
  • Кроссплатформенность
  • Не требует загрузки из магазина мобильных приложений
  • Можно легко адаптировать обычный сайт
  • Легче найти веб-разработчика нежели разработчика под определенную платформу Простота создания и поддержки 
  • Требует подключения к интернету
  • Не имеет доступа к ПО смартфона
  • Не может отправлять push-уведомления
  • Должен быть запущен интернет-браузер
  • При продаже требуется использование своей платежной системы
Гибридное
  • Функциональность нативного приложения на независимой платформе
  • Запускается не из браузера в отличии от веб приложения Возможность независимого обновления
  • Распространение через магазины приложений 
  • Загружается из магазина мобильных приложений (необходимо соответствовать требованиям)
  • Разработчик должен быть знаком с разными API 

Как определиться с выбором

Довольно просто. Если для работы Вашего приложения необходимо использовать мощности устройства, о которых мы писали ранее, или для его работы очень важна скорость обработки информации (игры, социальные сети, геолокационные сервисы, сервисы обмена фотографиями и т.д.), то необходимо делать нативное приложение. Если скорость работы не так важна, то делайте лучше гибридное приложение. А если вам просто важно, чтобы у пользователя была возможность получить от вас необходимую информацию при наличии интернета через мобильный телефон, и его это устраивает, то спокойно делайте веб-приложение!

Подведем итоги

В статье мы рассмотрели 3 типа мобильных приложений — нативные, web-приложения и гибридные — и их особенности. И теперь с легкостью можем сделать выбор в пользу того или иного варианта в каждой конкретной ситуации. Помните: от того, какие цели вы планируете достичь, создавая мобильное приложение, зависит, какой функциональностью его следует наделить. И, следовательно, какое приложение будет полезно именно вашему бизнесу в вашей конкретной ситуации.