Почему кроссплатформенные приложения — лучший выбор для бизнеса

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

Привет! Меня зовут Глеб Федоренко, мы с командой моего агентства Galt создаём мобильные приложения под ключ для других бизнесов — от e-com и fashion до логистики в Европе.

Почти в 100% случаев это кроссплатформенные решения — одно приложение, которое работает сразу на всех операционных системах (iOS, Android).

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

Суть кроссплатформенных приложений

Чтобы чётко видеть разницу, сначала разберёмся в понятиях:

  • нативное приложение — код написан под конкретную операционную систему, то есть работает либо на Android, либо на iOS;
  • кроссплатформенное приложение — работает как на Android, так и на iOS одновременно.

Соответственно, если вы хотите запустить приложение в магазины сразу для двух платформ (на iPhone и на Android), вы можете либо создать одно кроссплатформенное приложение, либо два нативных.

Примером кроссплатформенного решения можно назвать, например, Yandex.Go, Instagram или Airbnb. Он одинаково работает, вне зависимости от операционной системы компьютера или телефона.

Первым популярным решением стал React Native — в 2015 году его выпустил Facebook в качестве проекта с открытым исходным кодом. Он использован для разработки Instagram и Skype.

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

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

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

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

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

Плюсы кроссплатформенных решений

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

Экономия — это возможность сэкономить время, деньги и силы на поддержке приложение:

  • стоимость разработки — сокращается на 30-40%, так как вместо двух команд для разработки на iOS и Android нужна всего одна;
  • время разработки — может сократиться в два раза (если обе платформы в вашем случае делали бы одни специалисты), как минимум сократится на 10-15% за счёт сокращения итераций доработок, ведь разрабатывается, тестируется и утверждается одно приложение, а не два;
  • поддержка приложения — так как приложение одно, заниматься его обновлением может одна команда, экономия до 50%.

Больший охват — не приходится отказываться от части пользователей и выбирать только людей с iOS или Android при ограниченном бюджете или сроке. А чем больше охват, тем выше возможность заработка.

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

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

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

Полностью разработать кроссплатформенное приложение с момента подписания договора до запуска для пользователей мы можем за 2,5 месяца. Это время с учётом модерации Google Play и App Store, что в последнее время стало небыстрым процессом.

Глеб Федоренко, основатель Galt Agency

Минусы кроссплатформенных решений

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

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

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

Эту проблему мы решаем вставками нативного года в кроссплатформенное приложение. Так мы можем внедрять сложные механики вроде ML Engine. Это актуально для финтеха, например, для анализа рынков и прогнозирования стоимости акций.

Мы пользовались этим способом при разработке приложения с использованием нейронных сетей для компании Dbrain. Они предоставляют сервис по распознаванию документов, например, паспортов и водительских удостоверений.

Так получается сделать 95% приложения кроссплатформенным, и лишь ключевые высоконагруженные блоки адаптировать под каждую систему. Получить лучшее от двух миров.

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

Коротко о главном

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

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

Убедили, что кроссплатформенные решения — лучший вариант? Пишите свое мнение в комментариях 👇🏻

Нужна помощь в создании приложения? Заполняйте бриф или пишите нам на почту, в Telegram или WhatsApp.

0
4 комментария
Антон Сутармин

Очень интересно посравнивать React Native и Flutter, не поделитесь источниками вашего сравнения? Выбираю кросплатформенную технологию для своего проекта сейчас, сходу нашёл, что у React Native последний коммит в stable-ветку был на той неделе: https://github.com/facebook/react-native/tree/0.72-stable . Вроде не так уж и редко обновляется, выходит :)

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

Ответить
Развернуть ветку
Александр Герасимов

Могу посоветовать посмотреть в сторону Compose Multiplatform. Оч перспективное направление. Так же приятный синтаксис, сильно напоминает Swift и SwiftUI. Из плюшек на Compose уже давно пилят нативные приложения на Android.
https://www.jetbrains.com/lp/compose-multiplatform/

Ответить
Развернуть ветку
Александр Герасимов

Помнится на одной из конференций в далеком прошлом был доклад где было сравнение натива reactnative и reactjs+html+css в обернутый в webview. В плане бюджета победил последний вариант. А остальное зависит от пожеланий клиента.
У каждого подхода есть свои сильные и слабые стороны. В прошлом году общался с крупным аутсорсером где они рассказывали про флаттер, если мы говорим за стейтменеждмент табличек и карточек то это один вопрос, а когда например нужно обращаться к ML ресурсам платформы, машинному зрению или дополненной реальности то увы лучше нажива пока не придумали, тот же медиа плеер через адовые костили писался. Опять же рисовать интерфейс в канвасе на однопоточном языке с на устройствах переменным фреймрейтом + на старых устройствах (охват аудитории для бизнеса) и в этот момент обрабатывать данные бывает несколько проблематично, особенно если дизайнер использовал кучу теней, прозрачностей и блюра, а на фоне все обвешано аналитикой и сложными сортировками данных, перфоманс менеджмент будет на глубине Питерского метро.
Для Flutter жЫрный минус - это Dart.
Из интересных новинок очень понравился Compose Multiplatform.
Для себя вывел что Flutter кроссплатформа пока сидит на MVP проектах.

PS. Все выше написанное мнение было с позиции Swift разработчика с пришедшего из фронтотенда.

Ответить
Развернуть ветку
Darik Akishev

Интересная статья! На флаттере можно и игры делать оказывается)
У кого есть время можете ли вы оценить один из проектов моих?(в PlayMarket - Invest Clicker: Idle Tap Game).
Разработка шла в течение 1 месяца.
По стеку flutter+firebase(для лидерборда).
Если есть пожелания или какие нибудь идеи ответьте пожалуйста!

Ответить
Развернуть ветку
1 комментарий
Раскрывать всегда