РБК Компании
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Черная пятница на РБК Компании: скидки до 100 000₽ и подарки
Забрать скидку
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Скидки до 100 000₽
black friday
Черная пятница на РБК Компании:
скидки до 100 000₽ и подарки
Забрать скидку
Главная CleverPumpkin 21 октября 2024

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

Какой метод разработки мобильного приложения выбрать: нативный или кроссплатформенный, и какой фреймворк? Рассказывает эксперт Владислава Ларкина
Разработка приложения: кроссплатформенная или нативная
Источник изображения: Личный архив компании
Владислава Ларкина
Владислава Ларкина
Операционный директор CleverPumpkin

Руководитель проектного офиса, операционный директор CleverPumpkin. Опыт в управлении проектами — более 7 лет, в разработке мобильных приложений — 10 лет. Автор экспертных статей.

Подробнее про эксперта

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

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

Несмотря на огромное разнообразие производителей и моделей смартфонов, подавляющее большинство работает на одной из двух операционных систем — Android или iOS. 

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

Есть два способа это сделать: используя нативную разработку и кроссплатформенную. В первом случае потребуется писать отдельный код для Android (с помощью программной среды Android Studio) и отдельный — для iOS (с помощью среды XCode). Во втором случае в основе программы будет лежать единый для обеих систем исходный код.

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

Нативная разработка

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

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

  • Повышает производительность приложений. Поскольку используется язык родной системы, без дополнительных прослоек, обеспечивается высокая производительность программы.
  • Можно создавать приложение любой сложности. Нативная среда позволяет писать код без ограничений и полноценно реализовывать все идеи.
  • Легко обновлять код и добавлять новые функции. Применяя «родные» инструменты, разработчик может по максимуму использовать потенциал и преимущества выбранной платформы — это позволит совершенствовать приложение и выпускать новые обновления без каких-либо проблем.
  • Отдельный интерфейс для каждой платформы. Это делает приложение максимально удобным для пользователей, поскольку используются только привычные элементы и сценарии.
  • Более высокий статус на рынке за счет соответствия требованиям App Store и Google Play. Нативные версии приложений активно публикуются в рекламных разделах (Featured) App Store и Google Play, что положительно сказывается на количестве скачиваний и получении прибыли.

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

А теперь посмотрим, какие здесь есть подводные камни.

Минусы нативной разработки:

  • Зависимость от платформы. Приложение, разработанное для одной системы, можно запустить только в рамках этой системы.
  • Найм большего количества программистов.
    Увеличение команды может вести к сложностям в коммуникации, могут появиться труднораспознаваемые различия между платформами, отставания в обновлениях и рассинхронизация в фичах.
  • Более высокая стоимость. Чтобы программой могли пользоваться и владельцы Android, и приверженцы iOS, придется нанимать две команды разработчиков — бюджет в этом случае может возрасти примерно на 20% по сравнению с кроссплатформенной разработкой.

Кроссплатформенная разработка

С нативным подходом понятно, но как тогда устроен второй вариант — кроссплатформенная разработка?

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

По такому принципу работает кроссплатформенная разработка — в ней используются такие фреймворки (то есть инструменты), как React Native, Flutter, Kotlin Multiplatform Mobile (KММ).

  • В основе React Native лежит язык программирования Java Script. React Native выявляет ошибки на ходу, сокращает время отладки, предоставляет готовые компоненты и позволяет повторно использовать значительную часть кода, что способствует сокращению времени разработки и запуска.
     
  • Фреймворк Flutter разработан компанией Google на собственном языке Dart. Встроенная функция Hot Reload позволяет вносить изменения в бэкэнд и мгновенно наблюдать за переменами фронтэнда, уменьшая необходимость часто перезагружать все приложение. Данная функциональная способность позволяет командам экономить время на разработку и компиляцию.
     
  • КММ — это мультиплатформенный фреймворк на базе Kotlin, который позволяет переиспользовать бизнес-логику приложения на разных платформах, при этом оставляет приложениям нативный UI и UX. Таким образом KMM использует плюсы как кроссплатформенной, так и нативной разработки. 

    После создания структуры и логики приложения код интегрируют в нативный запускающий элемент на основе среды XCode или Android Studio.

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

  • Трудозатраты на разработку приложений для двух платформ меньше до 30% по сравнению с нативной разработкой.
    При создании версии для первой платформы в обоих типах разработки код пишется с нуля и учитывает и бизнес-логику, и функционал, и юзабилити. Однако в кроссплатформенной разработке есть возможность переиспользовать часть кода для написании версии для второй платформы, что может сократить трудозатраты до 30%.
  • Меньше вероятности появления ошибок при разработке.
    Это достигается за счет того, что для каждой платформы применяется одна и та же база кода, одна и та же бизнес-логика приложения.
  • Нужен меньший бюджет, чем при нативной разработке.
    Это связано с тем, что при разработке версии для второй платформы будет частично использоваться код для первой, что снижает затраты. Но нужно помнить, что стоимость документации, дизайна, менеджмента, тестирования, развертывания и поддержки не изменится, поэтому разница будет не очень значительной.

А теперь посмотрим, какие есть недостатки у кроссплатформенной разработки.

  • Низкая эффективность.
    Для обработки кода на разных языках приложению требуется задействовать больше ресурсов, в результате заряд батареи расходуется быстрее.
  • Необходимо знание нативного кода.
    Кроссплатформенная разработка не означает отказ от языка оригинальной платформы. В любом случае для реализации сложных функций и исправления кода некоторых компонентов потребуется использовать нативные языки.
  • Проблемы с обновлением.
    Возможности, которые появляются в новых версиях мобильных платформ, невозможно встроить в приложение, пока они не появятся во фреймворке. Это может занять время и негативно сказаться на отношении пользователей к приложению. Более того, некоторые функции в принципе будет невозможно реализовать.
  • Увеличение веса приложения.
    Специфика кроссплатформенного подхода подразумевает увеличение объема кода, что делает программу менее удобной для скачивания и хранения на устройстве.
  • Нехватка специалистов нужного уровня.
    При смене разработчика есть риск, что будет затрачено много времени и финансов на поиск программиста необходимой квалификации, так как количество соискателей в кроссплатформенной разработке в разы меньше, чем в нативной.
  • Усложняется поиск источника ошибок в коде.
    В ходе разработки сложнее по сравнению с нативом вносить коррективы, отслеживать и устранять источники ошибок и неполадок.
     

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

Выбирайте нативную разработку, если:

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

    Выбирайте кроссплатформенную разработку, если:

  • вас устроит невысокая производительность приложения;
  • нужно несложное приложение с простым интерфейсом;
  • в дальнейшем приложение не будет активно развиваться и усложняться. 

Выводы и наш выбор

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

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

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

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

Интересное:

Новости отрасли:

Все новости:

Профиль

Дата регистрации16.06.2011
Уставной капитал15 000,00 ₽
Юридический адрес г. Санкт-Петербург, вн.тер.г. Муниципальный округ № 65, ул. Савушкина, д. 83 к. 3 литера А, помещ. 2-Н
ОГРН 1117847246615
ИНН / КПП 7814503704 781401001

Контакты

Адрес 197374, Россия, г. Санкт-Петербург, ул. Савушкина, д. 83, к. 3

Социальные сети

ГлавноеЭкспертыДобавить
новость
КейсыМероприятия