Нативная разработка: говорим на «языке» платформы
Но начнём с того, почему «нативная».
Представьте, что вы хотите поговорить с носителем испанского языка. Для этого вы учите испанский. А если вам нужно поговорить с французом — вы учите французский. Так работает нативная разработка мобильных приложений: с каждой платформой вы говорите на родном (native) «языке». У iOS это Swift, у Android — Kotlin, у веб-браузеров — JavaScript.
Примеры проектов
Если у вас есть смартфон, каждый день вы заходите хотя бы в одно нативное приложение. Рассмотрим пару примеров:
-
- Spotify — это стриминговый сервис с большой коллекцией музыки и подкастов, системой рекомендаций и офлайн-режимом.
- Pokémon Go — эта мобильная игра показывает, на что способна нативная разработка. Её игровая механика основана на AR и использовании GPS.
Плюсы
Так как вы «говорите» с платформой на её родном языке программирования, мобильные ОС понимают вас быстрее и лучше. Рассмотрим главные плюсы нативной разработки мобильных приложений.
Производительность. Нативные приложения отзывчивее и стабильнее. Их время загрузки меньше и они реже зависают.
Интеграция AR/VR. Если вы делаете игру с дополненной реальностью или VR-приложение, нативная разработка лучше справится с этой задачей.
Эффективность. Нативные приложения расходуют меньше заряда батареи — им не нужна полная мощность для обработки кода на разных языках.
Возможности для инноваций. Нативная разработка лучше подходит для приложений с уникальной логикой, которую никто раньше не видел. Инновационные проекты можно делать и на React Native, но это сложнее и дольше. Кроссплатформенные фреймворки — это набор готовых решений. Поэтому все уникальные элементы придётся писать на нативных языках.
Минусы
Время разработки. Время зависит от сложности проекта, но в среднем нативная мобильная разработка приложения для одной платформы занимает до 9 месяцев.
Стоимость. Чтобы не сокращать аудиторию приложения, придётся нанять две команды для работы над версиями для разных мобильных ОС. При этом вы потратите много денег на зарплаты — в среднем разработчики на Swift получают $7000 в месяц.
Сложности с поддержкой. Тестирование и обновление кодов для двух версий, которые друг другом не связаны — это долго. И придётся нанимать две команды тестировщиков.
Финансовые риски. Нет гарантии, что люди купят ваше приложение в любом случае. Но на разработке нативного приложения вы потеряете больше денег. Причина даже не в неудачном маркетинге — люди устали от приложений.
Кроссплатформенная разработка: пишем один раз, используем везде
Представьте, что вы хотите поговорить с носителем испанского языка, но не хотите учить испанский. Он тоже не говорит на русском. Но вы оба знаете английский, поэтому можете друг с другом общаться. И с французом вы можете поговорить на английском.
Так работает кроссплатформенная разработка. В отличие от нативной мобильной разработки, вместо «родных» языков для каждой платформы вы используете один код, который все платформы могут «понять».
Примеры проектов
Даже корпорации пользуются кроссплатформенным подходом, чтобы сэкономить ресурсы:
-
- Coinbase, проект платформы для криптоинвестиций, начался с вебсайта, а в 2017 году стал двумя нативными приложениями для iOS и Android.
- Tesla — IoT-приложение для управления автомобилями и солнечными батареями написано на React Native.
Плюсы
Главный плюс кроссплатформенной разработки — один код для всех платформ. Из этого преимущества вытекают остальные.
Скорость разработки. Кроссплатформенные фреймворки позволяют работать одновременно над версиями приложения для разных платформ. Поэтому вы можете выйти на рынок уже через 3-4 месяца.
Стоимость разработки. Вы экономите на кадрах, потому что не нужно нанимать две команды для работы над двумя версиями.
Широкая аудитория. Для сокращения расходов на разработку нативного приложения придётся выбрать одну платформу — более популярную аудитории. С кроссплатформенной разработкой можно не выбирать — её изначальная стоимость ниже. Ваш продукт дойдёт до большего числа пользователей, но денег вы потратите меньше.
Минусы
Всё равно нужен нативный код. Без программирования на нативных языках не обойтись — их придётся использовать для сложных функций.
Сложнее тестирование. Приложение должно работать без багов на всех платформах. Поэтому вы больше времени потратите на тестирование.
Сложнее обновлять. В новых версиях мобильных ОС появляются новые фичи. Но вы не встроите их в приложение, пока они не появятся в вашем фреймворке. Больше всего проблем с Android — эта система обновляется чаще.
Но что лучше?
Сложность проекта — не единственный критерий выбора. Есть ещё четыре характеристики, которые нужно учесть.
Бюджет. Нативная разработка дороже — нужно нанять две команды для разработки версий на iOS и Android. Сэкономить можно только если выбрать одну платформу. Поэтому если у вас мало денег, лучше выбрать кроссплатформенную разработку.
Время выхода на рынок. Если вы работаете над MVP, у вас нет года на сборку приложения. В этом случае кроссплатформенная разработка вам подойдёт лучше. Так вы не только выйдете на рынок раньше, но и сэкономите — нативная разработка слишком дорогая для MVP.
Инновации. Приложения с уникальной логикой можно собрать и на React Native — но это сложнее и дольше. В этом случае придётся все уникальные фичи писать на нативных языках и отдельно прописывать «мост» между ними и кодом на JavaScript.
Технологии. С Viro React можно собрать приложение с виртуальной реальностью на React Native. Но нативные VR-приложения всё равно работают быстрее. Поэтому, если ваше приложение использует VR или AR, лучше выбрать нативную разработку.
Да начнётся битва?
Да, но в битве кроссплатформенной и нативной мобильной разработки победителей не будет. На вопрос «Что лучше» есть только один правильный ответ — «лучше для кого?». Чтобы сделать правильный выбор, оцените свою ситуацию. Для этого предлагаем ответить на четыре вопроса:
- В моём приложении есть AR/VR? Если да — выберите нативную разработку.
- Я делаю уникальное приложение с логикой, которую никто никогда не видел? Если да — выберите нативную разработку.
- Я хочу побыстрее выйти на рынок? Если да, выберите кроссплатформенную разработку.
- У меня мало денег? Если да, выберите кроссплатформенную разработку.
Мы в Purrweb выбрали кроссплатформенный подход к разработке, чтобы вы смогли выйти на рынок с MVP через 3 месяца. Каждый проект мы ведём от идеи до размещения в магазинах приложений. При этом вы всё ещё сможете выбрать шрифт для главного меню.
Мы будем рады поработать с вами — расскажите о своих идеях в форме ниже.