Назад

Кросс-платформенная или нативная разработка мобильных приложений? Плюсы, минусы, как выбрать

Джон — владелец стартапа по бесконтактной доставке еды SafePizza. В 2020 году он запустил приложение для iOS, которое установили тысячи пользователей в первые три месяца пандемии. Но многие хотели еще и версию для Android. SafePizza написан на Swift — Джон не мог позволить себе нанять ещё одну команду разработчиков, чтобы сделать Android-версию с нуля.

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

В статье сравним нативный и кросс-платформенный подходы к сборке приложений и обсудим критерии выбора.

Время чтения: 6 минут

метрики разработки программного обеспечения
Содержание

    Нативная разработка: говорим на «языке» платформы

    Но начнём с того, почему «нативная».

    Представьте, что вы хотите поговорить с носителем испанского языка. Для этого вы учите испанский. А если вам нужно поговорить с французом — вы учите французский. Так работает нативная разработка мобильных приложений: с каждой платформой вы говорите на родном (native) «языке». У iOS это Swift, у Android — Kotlin, у веб-браузеров — JavaScript.

    метрики разработки программного обеспечения

    Примеры проектов

    Если у вас есть смартфон, каждый день вы заходите хотя бы в одно нативное приложение. Рассмотрим пару примеров:

    • Spotify — это стриминговый сервис с большой коллекцией музыки и подкастов, системой рекомендаций и офлайн-режимом.
    • Pokémon Go — эта мобильная игра показывает, на что способна нативная разработка. Её игровая механика основана на AR и использовании GPS.
    • Replika — этот чатбот для психологической поддержки основан на алгоритме обработки естественного языка GPT-3. Проект начался с разработки нативного приложения для iOS на Objective C и Swift. Сейчас у Replika есть веб-версия, приложение для Android и VR-приложение для Oculus.

    Плюсы

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

    Производительность. Нативные приложения отзывчивее и стабильнее. Их время загрузки меньше и они реже зависают.

    Интеграция AR/VR. Если вы делаете игру с дополненной реальностью или VR-приложение, нативная разработка лучше справится с этой задачей.

    Эффективность. Нативные приложения расходуют меньше заряда батареи — им не нужна полная мощность для обработки кода на разных языках.

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

    метрики разработки программного обеспечения

    Минусы

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

    Стоимость. Чтобы не сокращать аудиторию приложения, придётся нанять две команды для работы над версиями для разных мобильных ОС. При этом вы потратите много денег на зарплаты — в среднем разработчики на Swift получают $7000https://www.salary.com/research/salary/posting/swift-developer-salary в месяц.

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

    Финансовые риски. Нет гарантии, что люди купят ваше приложение в любом случае. Но на разработке нативного приложения вы потеряете больше денег. Причина даже не в неудачном маркетинге — люди устали от приложенийhttps://clevertap.com/blog/app-fatigue/.

    Кроссплатформенная разработка: пишем один раз, используем везде

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

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

    метрики разработки программного обеспечения

    Примеры проектов

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

    • Coinbase — проект платформы для криптоинвестиций начался с вебсайта, а в 2017 году стал двумя нативными приложениями для iOS и Android. Но в январе 2021 года Coinbase перешли на React Native, чтобы сократить расходы на команду разработчиков без потери в качестве. 
    • Facebook Ads — корпорация использовала свой же фреймворк React Native,чтобы сделать мобильную версию рекламного кабинета Facebook.
    • Tesla — IoT-приложение для управления автомобилями и солнечными батареями написано на React Native.

    Плюсы

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

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

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

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

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

    метрики разработки программного обеспечения

    Минусы

    Всё равно нужен нативный код. Без программирования на нативных языках не обойтись — их придётся использовать для сложных функций. 

    Сложнее тестирование. Приложение должно работать без багов на всех платформах. Поэтому вы больше времени потратите на тестирование.

    Сложнее обновлять. В новых версиях мобильных ОС появляются новые фичи. Но вы не встроите их в приложение, пока они не появятся в вашем фреймворке. Больше всего проблем с Android — эта система обновляется чаще.

    Но что лучше?

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

    Джейн — CEO стартапа Planty. Это приложение для распознавания грибов и растений по фотографиям с огромной энциклопедией видов и милым 3D-маскотом, который отвечает на вопросы пользователей — например, «Этот гриб съедобный?». Джейн хотела побыстрее выйти на рынок. Поэтому она решила сэкономить на нативной мобильной разработке и собрать Planty на Flutter. Но AI, дополненная реальность и 3D-анимация маскота — слишком сложный набор функций для кроссплатформенной разработки. Хотя идея понравилась пользователям, они жаловались на баги — рейтинг Planty упал до 2.6. Деньги закончились, приложение не окупилось и Джейн закрыла проект.

    метрики разработки программного обеспечения

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

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

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

    Инновации. Приложения с уникальной логикой можно собрать и на React Native — но это сложнее и дольше. В этом случае придётся все уникальные фичи писать на нативных языках и отдельно прописывать «мост» между ними и кодом на JavaScript. 

    Технологии. С Viro React можно собрать приложение с виртуальной реальностью на React Native. Но нативные VR-приложения всё равно работают быстрее. Поэтому, если ваше приложение использует VR или AR, лучше выбрать нативную разработку.

    Да начнётся битва?

    Да, но в битве кроссплатформенной и нативной мобильной разработки победителей не будет. На вопрос «Что лучше» есть только один правильный ответ — «лучше для кого?». Чтобы сделать правильный выбор, оцените свою ситуацию. Для этого предлагаем ответить на четыре вопроса: 

    1. В моём приложении есть AR/VR? Если да — выберите нативную разработку.
    2. Я делаю уникальное приложение с логикой, которую никто никогда не видел? Если да — выберите нативную разработку.
    3. Я хочу побыстрее выйти на рынок? Если да, выберите кроссплатформенную разработку.
    4. У меня мало денег? Если да, выберите кроссплатформенную разработку.

    Джон и Джейн осознали свои ошибки. Джон отказался от разработки нативного приложения SafePizza на Android и перешёл на React Native. Джейн пока не оправилась от провала. Поэтому она вместе с SafePizza разработала кроссплатформенное приложение с рецептами для людей с постковидным синдромом. Но концепция Planty Джейн нравится — она планирует собрать нативную версию. 

    Джон и Джейн — просто персонажи. Purrweb работает с реальными проектами. Мы выбрали кроссплатформенный подход к разработке, чтобы вы смогли выйти на рынок с MVP через 3 месяца. Каждый проект мы ведём от идеи до размещения в магазинах приложений. При этом вы всё ещё сможете выбрать шрифт для главного меню. 

    Мы будем рады поработать с вами — расскажите о своих идеях в форме ниже.

    Насколько публикация полезна?

    Оцени эту статью!

    6 оценок, среднее 5 из 5.

    Оценок пока нет. Поставьте оценку первым.

    Так как вы нашли эту публикацию полезной...

    Подписывайтесь на нас в соцсетях!

    Поделиться