Разработка кроссплатформенного мобильного приложения или нативного?

3 Декабря 2016

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

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

Подробнее о кроссплатформенных мобильных приложениях

Существует несколько кроссплатформенных технологий для разработки мобильных приложений, самая популярная (не для игрового направления) - это веб решения, за которой идет платформа Xamarin, позволяющая создать приложение на языке C# и собрать его сразу под несколько мобильных ОС. Данная статья под кроссплатформенными решения подразумевает в первую очередь веб решения, другие технологии будут подробно рассматриваться в следующих статьях.

>Подробнее о кроссплатформенных мобильных приложениях

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

Почему существует нативная разработка мобильных приложений

Если вы посмотрите на топ приложений магазинов App Store и Google Play, то не найдете ни одного кроссплатформенного мобильного приложения, не относящегося к игровому направлению. Этому есть целый ряд причин:

  • • Нативные мобильные приложения работают в разы быстрее. Программист проектирует и создает приложения теми оптимизированными средствами, которые предоставлены разработчиками самих операционных систем. Код не проходит ряд конверсий, он не исполняется в браузере, он работает насколько быстро, насколько позволяет само устройство.
  • • Есть возможность использовать все функции операционной системы и устройства. Если в операционной системе появляется новый функционал, то разработчикам кроссплатформенных мобильных приложений необходимо ждать когда их системы разработки начнут этот функционал поддерживать. Некоторые функции могут поддерживать частично или не поддерживаться вообще.
  • • Более простая и гибкая работа с геолокацией, мультитач, компасом, акселерометром, камерой и рядом других функций устройств.
  • • Дизайн мобильного приложения под iOS должен отличаться от дизайна приложения под Android. Это разные операционные системы, имеющие свою идеологию пользовательского интерфейса. Концепции UI и UX этих операционных систем в ряде случаев различаются настолько, что использование какого-то усредненного решения сильно ухудшит восприятие пользователями интерфейса мобильного приложения на обоих платформах.

Для этого необходимо, во-первых, понять, какие именно услуги студия включила в свои расчеты. К примеру, одна студия говорит что в разработку мобильного приложения входит дизайн, непосредственно программирование, тестирование, подготовка к публикации и запуск. У другой студии помимо перечисленных пунктов в ориентировочной смете есть аналитика, A/B тестирование, несколько вариантов иконок с проведением тестирования по удержанию внимания по каждой из них и т.д. На этом этапе необходимо сформировать полное представление по каждой услуге и понимание в их необходимости для данного конкретного продукта на данном этапе. Поэтому запрашивайте у студий перечень услуг, включенных в ориентировочную оценку создания мобильного приложения и просите пояснить в чем именно заключается работа и предполагаемый результат по каждой из них.

Почему существует нативная разработка

Разница между качеством создаваемого UI/UX нативных и кроссплатформенных мобильных приложений существенна и обусловлена в первую очередь разностью самих платформ.

Когда нужна кроссплатформенная разработка мобильных приложений?

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

Именно поэтому кроссплатформенные решения рекомендуются для игр и для крайне простых proof-of-concept приложений. Во всех остальных случаях как правило рекомендуется только нативная разработка мобильного приложения.