Нативная или кроссплатформенная разработка: что подойдёт вашему проекту

Сделать кроссплатформенный проект на Flutter или разрабатывать нативные приложения для платформ iOS и Android? Рассказываем о плюсах и минусах, а вы принимаете решение, какую технологию выбрать

Нативная или кроссплатформенная разработка: что подойдёт вашему проекту

Нативная или кроссплатформенная разработка: что подойдёт вашему проекту

Нативная или кроссплатформенная разработка: что подойдёт вашему проекту, фотография 1

Что в статье 

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

Нативная VS кроссплатформенная разработка — что это и в чём разница

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

Как создаются нативные приложения

Нативные приложения разрабатывают с использованием «родных» для платформ iOS и Android языков программирования:

Платформы воспринимают такие приложения как продолжение себя. За счёт этого нативные приложения: 

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

В общем, они полноценно обслуживаются системами и на смартфоне чувствуют себя как дома.

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

Как создаются кроссплатформенные приложения (кп-приложения)

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

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

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

Для создания кп-приложения нужен фуллстэк-разработчик. Упрощённо, это специалист, который может во все языки программирования сразу (или хотя бы в несколько). По данным агентства Lucky Hunter, фуллстек-разработчик занимает 3 место в списке самых востребованных айти-профессий. Найти таких специалистов на рынке сложно. Вместо них компании часто привлекают нативных разработчиков, что увеличивает стоимость кроссплатформенной разработки.

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

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

Дальше мы часто будет использовать слово фреймворк. Чтобы не запутать вас, сразу объясним, что это.

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

В разработке почти так же. Только речь идёт о «каркасе», куда вписываются не рутинные дела, а код.

1. Xamarin 

Что это: платформа для разработки приложения под iOS, Android и Windows

Основной язык программирования: C#

Год выпуска: 2011

Что хорошо. Архитектура Xamarin позволяет переиспользовать код на разных экранах. Это делает приложение похожим на конструктор и действительно экономит время разработчиков. Но как известно, где-то убыло, а где-то времени потребовалось в два раза больше. 

Сложности. В Xamarin только 60% кода будут общими для iOS и Android. И те требуют многоступенчатой сложной компиляции в нативный код. А для каждой из платформ ещё нужно реализовать собственный UI-слой (слой с красивым дизайном). Это растягивает сроки и стоимость разработки. 

Уровень популярности: бронза. 

2. React Native 

Что это: фреймворк для разработки кроссплатформенных приложений от Facebook 

Основной язык программирования: JavaScript

Год выпуска: 2015

Что хорошо. React Native — это нативный код и контейнер с веб-приложением, связанные через «мост» (технологию JS Bridge). Фреймворк подходит для разработки web-приложений и приложений под iOS и Android. Исходный код React Native открыт, а библиотеки и фреймворки JavaScript доступны в большом количестве и бесплатно. 

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

Уровень популярности: серебро. 

3. Flutter

Что это: фреймворк от Google

Основной язык программирования: Dart

Год выпуска: 2017 

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

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

Уровень популярности: золото. 

Сейчас Flutter самая молодая и популярная технология для разработки кроссплатформенных приложений. Именно её считают основным конкурентом нативной разработки. Чтобы понять, чем этот фреймворк уступает и в чём выигрывает, нужно познакомиться с ним поближе. 

Быстрая и дешёвая разработка кроссплатформенных приложений на Flutter: правда или миф?

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

Плюсы разработки на Flutter

  • Разработка на Flutter на 15-20% дешевле нативной, если речь идёт о монофункциональных приложениях и MVP-версиях. 
  • Высокая производительность по сравнению с другими кроссплатформенными фреймворками.

Одинаковый интерфейс на всех устройствах позволяет отойти от гайдлайнов, сделать унифицированный дизайн и сократить время разработки.

Минусы разработке на Flutter

  • Не используются все возможности платформы — на флаттере нельзя реализовать некоторую системную функциональность (жесты, особенности интерфейса), а UI-дизайн приложений похож на дизайн сайтов. 
  • Не все библиотеки Flutter работают стабильно — разработчикам придётся или делать что-то с нуля (а это дополнительные расходы), или брать готовую библиотеку и надеяться, что обойдётся без серьёзных ошибок. 
  • Нужно участие нативных разработчиков, чтобы реализовать сложную или среднесложную функциональность в кроссплатформенном приложении.
  • Сложно поддерживать — некоторые проблемы закрываются «костылями» — слоями кода, которые упрощают частное решение, но усложняют систему в целом. Если разработчик, который занимался проектом, внезапно уйдёт, — может сработать bus factor.
  • Больше по объёму — одно кп-приложение совмещает в себе кодовые базы для двух платформ, поэтому весить будет тяжелее такого же нативного проекта.

Плюсы и минусы нативной разработки 

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

Минусы

  • Для каждой платформы нужно разработать свою версию — на вашем проекте будет работать как минимум два разработчика: iOS и Android. Но это почти никогда не значит, что нативная разработка окажется дороже реализации такой же функциональности на кп-фреймворке. 
  • Сроки разработки нативного приложения от 3‑х месяцев — для нативного приложения не подходит дедлайн «нужно было сделать вчера». Нативная разработка — вдумчивая. Разработчики стараются разные варианты использования приложения, минимизировать баги и сделать продукт, который будет работать на увеличение KPI бизнеса.

Плюсы

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

Что подойдёт вашему бизнесу: нативное приложение или кроссплатформенное

Не каждый бизнес может позволить себе нативное приложение, но и не каждому бизнесу такое приложение нужно. Всё зависит от ваших целей и масштабов. Если проанализировать, какой бизнес выбирает нативное приложение, а какой — кп-фреймворки, то можно увидеть закономерность. 

Для каких проектов подходит разработка на флаттер

  • MVP-версии — чтобы протестировать гипотезу и попробовать свой продукт в деле, можно начать с кроссплатформенной разработки. Если отклик аудитории будет положительным, и вы захотите масштабировать проект, переходите на нативную технологию.
  • Монофункциональные приложения — на Flutter можно гармонично реализовать проекты, в которых есть только одна основная функция. Производительности хватит, чтобы быстро и отзывчиво выполнять её.
  • Некоммерческие проекты — у кп-приложения быстрый time-to-market (время от реализации приложения до его выхода на рынок). С бизнесовой точки зрения, некоммерческие проекты, в которых нет монетизации и которые не нацелены на заработок, выгоднее делать на Flutter. 

Бизнес: СМИ, ленты новостей, такси, сервисы доставки.

Мы знаем хорошую команду, которая умеет делать качественные проекты на Flutter, — позвоните +7 495 204-35-03 или напишите нам, если хотите заказать разработку кроссплатформенного приложения.

Какие проекты нуждаются в нативных технологиях

  • Проекты для среднего и крупного бизнеса — нативные приложения предсказуемы, их легче масштабировать, они находятся под защитой Google и Apple: корпорации не перестанут поддерживать язык своей платформы. Поддержка кроссплатформенного фреймворка может закончиться в любой момент. Если хотите долгосрочного и надёжного развития бизнеса в мобайле — выбирайте нативную разработку. 
  • Проекты со сложной функциональностью — чтобы приложение могло запомниться пользователю и выдержать конкуренцию на рынке, нужно внедрять сложные технологии и киллер-фичи. Пока кроссплатформа не может похвастаться поддержкой таких инструментов, как AR/VR, 3D-моделирование, видеочаты, геймификация.
  • Супераппы — нативное приложение выдержит большое количество интеграций, разнообразие функциональности и пользовательских ролей. Все популярные в России супераппы— нативные.

Бизнес: eCom и ретейл, медтех, финтех, девелопмент.

Почему так важна производительность, Карл 

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

Как выбрать команду для разработки приложения 

Мы кратко рассказали вам всё, что знаем про кроссплатформенную и нативную разработку, а выводы вы делаете сами. Если затрудняетесь с выбором технологии, то позвоните +7 495 204-35-03 нам — мы обсудим ваш проект и подскажем, что ему подойдёт. 

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

Клиентам
Как распространять мобильные приложения, если App Store и Google Play уйдут из России

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

Клиентам
28 февраля 2023
Какие мобильные приложения выгодно делать в 2022 году

В этом году рынок мобильных приложений изменился: ушли иностранные компании, появились новые российские сервисы. Если у вашего бизнеса ещё нет мобильного приложения, мы поможем его создать. Идеи ...

Клиентам
29 июля 2022
Предупреждён — значит всё хорошо! Ошибки и риски при разработке мобильного приложения

Одна ошибка и ты ошибся. А значит, нужно будет исправлять, переделывать, снова тратить время и деньги. Мы хотим уберечь клиентов от этих неурядиц, поэтому рассказываем, что может пойти не&nb...

Клиентам
21 апреля 2022
Заполните форму — перезвоним и сориентируем вас по стоимости и срокам разработки
Заполните форму — перезвоним и сориентируем вас по стоимости и срокам разработки