Кроссплатформенная разработка: за или против?
Стоит ли для своего продукта выбрать кроссплатформенную разработку или отдать предпочтение нативной – вопрос непростой, так как у каждого бизнеса есть свои цели и ожидания от продукта, который планируется разработать. Но сегодня мы точно разберёмся в том, какая разработка подойдёт вам.
Что такое кроссплатформенные приложения?
Кроссплатформенные приложения – приложения, которые разрабатываются и затем работают сразу и на Android, и на iOS. Суть разработки в том, что исходный код приложения переводится в нативный, то есть понятный конкретному мобильному устройству. В результате программа может взаимодействовать с установленной на нём операционной системой.
Напомним: нативные приложения, в отличие от кроссплатформенных, пишутся изначально под конкретную ОС.
Для написания же кроссплатформенных приложений есть несколько различных фреймворков – например, React Native, Xamarin и Flutter, релиз которого состоялся в 2018 году и уже в 2020-м это был самый популярный фреймворк у разработчиков. На Flutter работают сервисы таких крупных игроков рынка, как BMW, Alibaba, eBay, Google Pay, Toyota. Выбор этих компаний говорит о том, что фреймворк определенно успешно справляется с задачами продуктов. Рассмотрим же подробнее, какие есть преимущества и нюансы у кроссплатформенных решений.
Плюсы кроссплатформенной разработки
- расширение пользовательской базы за счёт появления приложения одновременно в нескольких магазинах – это и последующие преимущества имеют огромное значение конкретно для бизнес-целей;
- один исходный код избавляет вас от необходимости нанимать нескольких разработчиков для каждой платформы;
- повышение скорости разработки. Для разных проектов показатели сокращения сроков запуска будут разными в зависимости от функционала приложения, насколько оно сложное, но в среднем экономия времени может достигать 20%. И это сокращает time-to-market – сроки выхода продукта на рынок.
- 75% кодовой базы кроссплатформенного приложения можно использовать повторно, адаптируя её для новых проектов. Снижаются затраты на исправление ошибок и добавление нового функционала.
Минусы кроссплатформенной разработки
1. Неидеальный интерфейс с точки зрения адаптации
Пользователи настолько сильно привыкают к внешнему виду и функционалу своих гаджетов, что ждут от установленных на них приложений максимальной отзывчивости. Они хотят быть уверенными в том, что каждая кнопка будет на своём законном месте, что прокрутка страницы будет идти с оптимальной для них скоростью, а на любое их действие последует незамедлительная реакция. Кроссплатформенные приложения могут создаваться порой без учета особенностей конкретных платформ, реализуя единый интерфейс.
Разумеется, можно сделать грамотную адаптацию, но тогда уходит преимущество экономии времени и средств, позиционируемое одним из главных преимуществ кроссплатформенности. Когда дизайн делается адаптированным под каждую платформу, под различные устройства, то на это тратится практически столько же времени, сколько при разработке дизайна нативного приложения.
Кроме того, может встречаться нюанс с “подтормаживанием” графики и интерфейса, но в случае с фреймворком Flutter эта проблема нивелирована.
2. Борьба за первенство среди инструментов разработки
На рынке решений для кроссплатформенной разработки конкуренция ужесточается с каждым днём. Если раньше наибольшей популярностью у разработчиков пользовались React Native и Xamarin, то сейчас на первый план вышел Flutter. И для проектов, уже реализованных на более ранних фреймворках это может означать возможное ухудшение поддержки кода – например, с точки зрения оперативности.
Нативной разработке подобная проблема не страшна. Внедрение новых инструментов происходит постепенно, а знание нескольких языков программирования, обязательное для узкого специалиста, позволит ему быстро разобраться со всеми нововведениями. Кроме того, существуют огромные профессиональные сообщества вокруг каждой операционной системы, в результате чего любая возникшая сложность решается поиском подобной проблемы на форумах, где тысячи людей готовы подсказать и помочь ее решить. Справедливости ради, следует отметить, что и для сферы кроссплатформенной разработки уже идет процесс активного формирования профессиональной среды, которая в будущем будет обеспечивать более высокую скорость распространения нововведений. Но и нативная разработка будет продолжать развиваться и поддерживаться на 100% поставщиками операционных систем, так как все же именно она является “родной”.
3. Кроссплатформенные приложения менее гибкие, чем нативные приложения.
Унифицированность этой технологии проигрывает стеку, заточенному под определенную платформу. И это влияет на меньшую степень интеграции решения с устройствами и операционными системами, в отличие от продуктов нативной разработки.
Вот, допустим, разработчик оценил внедрение какого-то функционала в условные 7 часов. После этого в платформе происходят изменения, и как правило в случае нативной технологии срок реализации не изменится, а в кроссплатформенной разработке он может увеличиться до полутора раз, достигнув условных 10 часов. Хотя, опять же отмечаем, благодаря расширению профессиональных сообществ и в таких ситуациях получается оптимизироваться и найти решение, как сократить временные затраты или вовсе уложиться в изначальную оценку.
Какое приложение подойдёт вашему бизнесу?
Перед тем, как ответить на этот вопрос, крайне важно проанализировать свой бизнес. Потребительские сегменты, ценность временных и денежных ресурсов, желательная глубина интеграции приложения с устройствами пользователей плюс чётко очерченные долгосрочные цели – тот минимум, от которого будет зависеть ваш выбор.
1. Чем пользуется ваша аудитория?
Если вы знаете, что соотношение количества пользователей iOS и Android среди ваших клиентов близко к пропорции 50 на 50, то здесь может подойти кроссплатформенное приложение, позволяющее получить продукт сразу на обе платформы.
Бывает и такое, что имеется перекос целевой аудитории в сторону какой-либо одной платформы, и тогда можно останавливаться на нативной разработке под IOS или Android. Но нужно учитывать, что показатели загрузок и продаж могут отличаться в пользу разных платформ. Поясним: в результате исследования компании App Annie за первый квартал 2018 года выяснилось, что пользователи Android-смартфонов скачали на 135% больше приложений, чем посетители iOS-магазина. В то же время App Store принёс своим владельцам на 85% больше дохода, чем Google Play.
Путь к успеху очевиден: играть на двух полях сразу. Точнее, на двух магазинах. Но если вы планируете детальную проработку интерфейсов и технических особенностей, с учетом требований операционных систем и хотите избежать нюансов кроссплатформы, описанных нами выше, стоит выбирать нативную разработку под каждый стор. Просто рассчитайте, в каком из них приложение должно появиться первым.
2. Сколько у вас времени на разработку?
От ответа на этот вопрос зависят финансовые издержки проекта. Само собой, с точки зрения затраченных на разработку трудовых ресурсов (количество часов и специалистов, проще говоря) кроссплатформенное приложение кажется более выгодным решением. Но обязательно помните, что нюансы дизайна, функционала могут влиять на сроки адаптации под платформы, что может занять почти столько же времени, сколько и создание двух нативных приложений, потому что разработчикам придётся писать дополнительные части кода для проблемных мест.
С нативным приложением таких проблем точно не будет, что очень важно для удержания аудитории, которая крайне не толерантна к ошибкам и багам. По статистике компании Compuware, 79% пользователей готовы перезапустить приложение, если оно некорректно заработало во время первого запуска, но вот дать ему ещё один шанс согласны всего 16%. Остальные, скорее всего, просто удалят программу.
3. Какие особенности у вашего проекта?
Мы уже рассказывали о том, что нативные приложения способны воспроизводить тяжелую графику быстро и без потери качества. Современные кроссплатформенные решения также позволяют достигать высокой производительности в работе приложения, однако на слабых устройствах разница с нативным решением все-же может быть заметна
Этим технические преимущества нативной разработки не ограничиваются. В качестве примера можно взять проекты, которые требуют взаимодействия с внешними устройствами или же отдельными частями операционной системы. Это может быть сервис управления какой-либо техникой – в современном мире с системами умного дома – или же продукт, для использования которого нужно взаимодействовать с встроенными датчиками устройства. Зачастую подобные решения эффективнее реализовывать нативно с точки зрения простоты и надежности конечного решения.
4. К каким результатам вы стремитесь?
Digital-стратегия– это список целей, которых ваша компания может достигнуть с помощью цифровых инструментов. Выбор последних во многом зависит от преимуществ, которые вы хотите получить в итоге.
Разложите процесс от идеи до результата по пунктам, учитывая все имеющиеся ресурсы. Открытия могут быть самыми неожиданными.
Например, вы можете обнаружить, что перевести ваш адаптивный сайт с множеством функций и интерактивными элементами в кроссплатформенное приложение, как вы хотели изначально, – слишком затратная задача. Или окончательно убедитесь в том, что мобильный сайт выигрывает у мобильного приложения – и уже вовсе не нужно будет решать, разрабатывать кроссплатформенное или нативное, а остановиться на PWA (Progressive Web Application). Это технология, позволяющая вашим клиентам установить сайт как мобильное приложение.
А вот если вы понимаете, что сайта вашему бизнесу недостаточно и приложением вы принесете новую ценность целевой аудитории, но при этом роль играет еще и скорость выхода на рынок – кроссплатформенная технология, скорее всего, идеально решит ваши задачи.
Вывод: выбор в пользу кроссплатформенной или нативной разработки нужно делать, основываясь на множестве условий. Учитывайте цели и задачи вашего бизнеса и необходимый функционал. Высоконагруженные крупные системы надежнее и безопаснее было бы разрабатывать нативно. Более простые или имеющие цель сократить time-to-market проекты можно смело реализовывать кросплатформенно. Если раньше было много скептиков относительно жизнеспособности этой технологии, то время и рынок, на котором новые фреймворки не просто адаптировались, а приобрели популярность, говорят только в пользу этого подхода.
В нашем блоге вы всегда можете прочитать о цене на разработку приложений для iOS и Android, а если вы затрудняетесь с выбором, какая технология разработки вам нужна, то можете оставить заявку на разработку мобильного приложения в 2022 году и мы проведем консультацию, где разберем все нюансы проекта.
Следующая статья
Создание приложений для интернет-магазина
С появлением Aliexpress, Ozon, Wildberries и других популярных интернет-приложений люди в полной мере ощутили удобство быстрого заказа за несколько кликов и уже не так охотно обращаются к сайтам. Если у вас есть интернет-магазин, самое время задуматься о его мобильной версии, чтобы не потерять собственную аудиторию.
Читать далее