Надежный партнер в сфере IT-решений 2019
Close
Написать нам
У вас есть вопросы или предложения? Пишите! Мы будем рады вас выслушать.
Нажимая на кнопку, вы соглашаетесь с политикой в отношении обработки ваших персональных данных
Tilda Publishing

Кроссплатформенная VS нативная разработка: разбираемся в деталях

РАЗРАБОТКА ПРИЛОЖЕНИЙ
01 июля 2019 г.
Если вы знакомы с понятиями кроссплатформенной и нативной разработки — пролистывайте. О достоинствах и недостатках обеих технологий поговорим ниже. Этот абзац для тех, кто впервые сталкивается с терминологией языков и инструментов разработки мобильных приложений.
Кроссплатформенные мобильные приложения
Кроссплатформенная разработка пытается одной пулей убить двух зайцев: сделать одно приложение сразу под iOS и Android. Почему бы и нет? Существуют же программы, работающие на Linux и Windows! Кроссплатформенный подход реализуется с помощью фреймворков, а для проработки структуры и логики продукта используются Titanium, PhoneGap и другие инструменты. Проще говоря, исходный код приложения переводится на другой язык программирования так, чтобы он работал одновременно и на iOS, и на Android.

При нативной разработке для мобильных приложений на iOS используется среда XCode и языки Objective-C, Swift, C, С++. Для Android-приложений, соответственно, среда Android Studio и языки Java, Kotlin.

Преимущества кроссплатформенной разработки

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

Из-за того, что под iOS и Android делается одно решение, программистов на проект нужно меньше, а дизайнеру не приходится рисовать два набора графики под каждый продукт. Конечно, более скромные трудозатраты отражаются на стоимости в приятную сторону. Времени, как правило, тоже уходит меньше. Интерфейс у кроссплатформенных приложений проще, поэтому создание продукта идет быстрее. Еще быстрее получается, если есть мобильная версия сайта. Тогда существенная часть кода переносится в приложение как есть.

Дополнительным плюсом выступает упрощенный цикл обновлений. Когда проект дорабатывается или выпускается новый релиз, в случае с кроссплатформенным решением обновление можно сделать за один раз, а не два, как для приложения на Android и iOS.
Мобильные приложения под iOS и Android
Целостную логику приложения тоже относят к достоинствам кроссплатформенной разработки, но из-за разной архитектуры платформ здесь одновременно и минус, и плюс. Взять ту же кнопку Back, которая у Android отвечает за перемещение между экранами. У iOS эту функцию выполняет кнопка слева на навигационной панели или движение пролистывания слева направо. Логика разная, но проигнорировать функцию нельзя —пользователям будет неудобно. Как неудобно им будет, если сделать что-то нестандартное, непривычное. Так что логику для кроссплатформенных решений приходится тщательно продумывать и неоднократно отлаживать. Зато если сразу сделать хорошо, не придется разбираться с проблемами на каждой отдельной платформе.

Достоинства нативного подхода

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

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

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

Ну и вишенкой на торте — у нативных приложений больше шансов получить 100% поддержки App Store и Google Play. И та и другая платформы стараются представлять только лучшие продукты, поэтому контролируют качество изображения, быстродействие, эстетика, юзабилити и пр. Если в чем-то приложение не дотягивает до критериев качества App Store и Google Play, его просто не допускают до магазина. Наглядный пример — фичеринг-разделы, куда берут только лучших. Так вот там пока нет ни одного кроссплатформенного приложения, за исключением игровых. У них не системный интерфейс, поэтому требования немного другие.

Когда выбирать кроссплатформенную разработку

Учитывая плюсы и минусы кроссплатформенных решений, их имеет смысл использовать для:

  1. простых проектов без анимации, расчетов, сложного функционала с загрузкой контента из сети,
  2. быстрого выхода на рынок, чтобы протестировать идею и понять, двигаться дальше в этом направлении или сменить вектор,
  3. корпоративных решений, не требующих высокой отзывчивости,
  4. игровых приложений,
  5. проекта с жестко ограниченным бюджетом и при наличии мобильного сайта.

Когда стоит делать нативное приложение

Есть ситуации, когда имеет смысл потратить больше, чтобы получить достойный результат. Это тот случай, когда:

  1. у вас требовательная аудитория, ждущая максимально отзывчивого приложения и развернутого оффлайн-функционала,
  2. для эффективной работы приложение должно получать доступ ко всем сервисам мобильного устройства,
  3. функционирование приложения тесно связано с аппаратными частями гаджета, есть проверенная теория и 100% уверенности в долгосрочном развитии проект.
    Tilda Publishing