Образовательный центр
интернет профессий
Навигация по статье
Особенности разработки нативных приложенийОсобенности кроссплатформенной разработкиКак выбрать платформу разработки
Маркетинг

Что выбрать, нативное или кроссплатформенное приложение

582
3

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

Особенности разработки нативных приложений

Что это вообще такое?

Нативное приложение делают отдельно под каждую платформу. Если вы хотите иметь нативные приложения для iOS и Android, нужно разрабатывать два отдельных приложения на разных языках, например, для iOS Swift, а для Android — Kotlin. 

Что хорошего в нативе?

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

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

Именно поэтому Pokemon GO сделали нативным. Приложение должно было использовать встроенные системные возможности без задержек. 

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

Для 50% пользователей производительность приложений ОЧЕНЬ важна. Источник: medium.com

Быстрое обновление. Если функционал iOS и Android обновляется, сразу же обновляются и нативные приложения. С кроссплатформенным приложением придется ждать обновления фреймворка. И никто не скажет, на сколько это затянется.

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

Для приложений, чей UI/UX основан на стандартных паттернах пользователей, это может быть критичным. 

Особенности кроссплатформенной разработки

Что такое кроссплатформа?

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

Что хорошего в кроссплатформенной разработке?

Стоит меньше и делается быстрее. Кроссплатформенная разработка, как правило, экономит ресурсы, поскольку код пишется одновременно для iOS и Android. Экономия составляет до 50% времени. 

На Flutter, например, писать код быстрее, чем на натив. И, соответственно, дешевле.

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

Единый UI. Логика работы у iOS и Android разная, поэтому нативные приложения в них выглядят по-разному. Кроссплатформенное приложение одинаково на всех платформах.

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

Широкая аудитория. Кроссплатформенные приложения доступны пользователям iOS и Android, поэтому аудитория изначально шире. С другой стороны, с кроссплатформой до аудитории можно и вовсе не добраться: у AppStore, например, очень жесткие требования к гибридным приложениям и они с большим трудом проходят модерацию в маркете.

Примеры кроссплатформенных решений. Источник: litslink.com

Самые неприятные ограничения кроссплатформенных фреймворков

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

Дело вот в чем: верстка для кроссплатформы делается по той же технологии, что и для адаптивных сайтов, а при переносе макетов в код нативных приложений соблюдается сетка iOS и Android. Сетки у iOS и Android разные, плюс у них разные размеры и форматы иконок для экрана приложения. Именно поэтому нативная интеграция лучше отображается на разных мобильных устройствах. Даже если это один из тысяч смартфонов на Android и модель с нестандартным экраном. У нестандартного экрана все равно будет стандартная сетка, так что макет со стандартизированными колонками нормально интегрируется в приложении. Кроссплатформенная верстка на нестандартный экран может не встать ни на Андроиде, ни на iOS. Отсюда и баги, которые крайне сложно находить и устранять. У нас был случай, когда в приложении отображалась ошибка с нажатием одной из кнопок. Ошибка воспроизводилась только на одной модели Xiaomi Redmi Note. Мы тестировали приложение на пяти других моделях Xiaomi, искали ошибку на симуляторах, но проблема не воспроизводилась. Пришлось купить именно ту модель Xiaomi Redmi Note, на которой не срабатывала кнопка, и только тогда мы отыскали причину бага.
Мария Орлова, CEO ТехноФабрики

Во-вторых, с масштабированием и множественными интеграциями количество «костылей» резко увеличивается. 

Реальная задача на fl.ru

Рано или поздно наступает момент, когда каждая правка такого приложения превращается в ад, муки и дорогие часы техподдержки.

Кто помнит, несколько лет назад на рынке мобильных приложений случился бум недорогих коробочных решений за 300-500 тыс. рублей. Их много сделали для сервисов доставки еды и такси. Приложения работали на кроссе и первое время баги редактировались командой разработки. Через пару лет исправление багов стало настолько трудозатратным и дорогим, что разработчики отказались от поддержки, а владельцы бизнеса остались у разбитого корыта. Старые приложения копили баги и работали из рук вон плохо. Чтобы перевести клиентов на новые, нужно было провести масштабную работу с аудиторией. И не факт, что получилось бы.
Мария Орлова, CEO ТехноФабрики

Привередливость операционных систем. У платформ множество различий и все их нужно учитывать в кроссплатформенном фрейме. Например, macOS управляет оперативной памятью, а Windows — нет. 

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

Apple предпочитает нативный код. В политике Apple кроссплатформенные решения не в почете: иногда компания выпускает запрещающий список кроссплатформ, которые больше не смогут публиковаться в App Store. 

Сложная оптимизация. Чтобы код работал как часы, его нужно оптимизировать. А в кроссплатформенном фреймворке это сделать непросто: базовые структуры платформ слишком разные. Одно из временных решений — кодировать исходное приложение в многоплатформенной среде, а затем экспортировать приложение в собственной код и уточнить. И здесь сходит на нет и экономия времени, и экономия денег. 

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

Этот список меняется каждый год и здесь только 10 моделей из тысяч

Как выбрать платформу разработки

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

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

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

Каждом продукту — свой инструмент. Каждому бизнесу — свое решение.

Хотите тоже написать статью для читателей Yagla? Если вам есть что рассказать про маркетинг, аналитику, бизнес, управление, карьеру для новичков, маркетологов и предпринимателей. Тогда заведите себе блог на Yagla прямо сейчас и пишите статьи. Это бесплатно и просто
ТехноФабрикаРазработчик нативных мобильных приложений под IOS и Android c фундаментальной экспертизой в области разработки коммерческих продуктов.
582
3
0
  • Семен Востриков

    2021-11-15 11:45:38

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

  • ТехноФабрика

    2021-11-18 16:27:59

    Однозначно. Если бизнес развивается, он рано или поздно вырастает из кроссплатформы.

  • Игорь Корнеев

    2021-11-17 16:42:23

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

Обсуждаемое

Как написать качественную статью: пошаговый план создания статьи, примеры и советы экспертов Статья

Все, что люди читают в интернете для чего-то написано, а если конкретнее — решает какую-то задачу. Главный признак, который определяет качественную статью — это степень подготовительной работы.19

Создание видео для социальных сетей в конструкторе Supa: обзор, аналоги, советы начинающим Статья

Видео в тренде — они набирают популярность и приносят пользу бизнесу. По данным Depositphotos, 87% маркетологов утверждают, что использование видеороликов в продвижении повышает окупаемость рекламы.12

Какие хештеги добавить к видео в TikTok, чтобы набрать просмотры Статья

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