Гибридные и нативные приложения: ликбез для тех, кто задумался о разработке

По данным недавнего опроса от Red Hat мобильные разработчики требуются в 50% компаний, причем интерес к специалистам в области гибридных приложений выше, чем к нативным разработчикам (32% против 27%). Исследования от Gartner, на которые ссылается Red Hat, тоже показывают интересные цифры: к 2017 г. спрос на мобильные приложения будет расти примерно в 5 раз быстрее, чем IT-компании будут успевать его удовлетворить… Что это значит и как эта информация поможет вам — читайте ниже.

По понятиям

Слова «нативный» и «гибридный» (или «кросс-платформенный») для человека, далекого от IT, выглядят жутковато. Впрочем, если вы всерьез задумываетесь о разработке мобильного приложения, разобраться в терминах все же стоит. Хотя бы для того, чтобы убедиться: ничего сложного в них нет.

Нативные приложения (от англ. native — родной) — это приложения, разрабатывающиеся на родном для платформы языке (Java для Android, Objective-c или Swift для iOS и т.д.). И если одни операционные системы менее капризны, то другие выдвигают разработчикам существенные требования. К примеру, разрабатывать приложения под iOS можно только на компьютерах с операционной системой Mac OS X.

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

С гибридными приложениями все немного проще. Писать их можно на чем угодно, и работать они будут на всех основных ОС. Конечно, подобная либеральность должна была отразится на производительности. И именно здесь кроется главный вопрос, на который стоит ответить перед началом разработки: «А есть ли в ней настоящая необходимость?». Гибридные приложения успешно хранят данные, но не сотнями мегабайтов. Поддерживают прекрасный дружелюбный интерфейс, в котором нет необходимости педантично анимировать каждый пиксель и так далее, и так далее…

А стоит ли?..

У гибридных приложения действительно есть масса плюсов и многие из них очень весомы. Выделим главные:

  • Доступность — цена разработки существенно ниже, чем при нативном подходе;
  • Скорость разработки — приложение разрабатывается в одном, а не в трех вариантах, что значительно уменьшает срок реализации проекта;
  • Кросс-браузерность — приложение одинаково хорошо работает на трех основных мобильных операционных системах (Android, iOS, Windows Phone);
  • Работа в оффлайне — гибридные приложения успешно функционируют без подключения к Интернету;
  • Совместимость с другими приложениями или данными на смартфоне (аккаунты в социальных сетях, местоположение, камера и проч.).

Но в мире нет совершенства, верно? Вот и гибридная разработка при всей своей универсальности не свободна от недостатков. Увы и ах:

  • Степень интеграции значительно уступает широким возможностям нативных приложений;
  • Снижение скорости работы приложениям;
  • Серьезные ограничения сложных визуальных элементов (например, анимациий);
  • Вероятность появления багов, препятствующих нормальной работе приложения.

Критичны эти минусы или нет — решать вам. От себя добавим: гибридный подход — это отличное решение для небольших бизнес-программ, но проектам покрупнее стоит подумать и о нативе. Здесь показателен пример Facebook, начинавшего с гибридного подхода, но пришедшего к нативной разработке, увеличившей производительность примерно вдвое.