Кроссплатформенная разработка мобильных приложений

Кроссплатформенная разработка мобильных приложений — оптимальное решение для разных сфер бизнеса: e-commerce, финтеха и внутренних корпоративных систем. Она позволяет создать мобильное приложение с нуля и сократить бюджет на разработку.
Кроссплатформенная разработка конкурирует с нативными решениями и в некоторых аспектах даже превосходит их. Она обеспечивает высокую производительность без ущерба для гибкости и кастомизации проекта. Далее разберём подробно, каким проектам подойдёт кроссплатформенная разработка, а каким лучше разработать свой продукт на нативе.
4 способа создать мобильное приложение: кроссплатформенная разработка и не только
Перед выбором технологии нужно определиться с целями проекта. От этого зависит, по какому пути пойдёт продукт и как он будет развиваться. Есть четыре магистральных направления, с помощью которых можно реализовать мобильное приложение:
- Конструктор или коробочный продукт. С помощью набора стандартных функций можно создать минимально рабочий прототип (MVP). Такой вариант подойдёт для стартапов или тестирования продуктовых гипотез, но не будет гибким и его нельзя кастомизировать под потребности конкретной компании.
- PWA (Progressive Web App) — это прогрессивное веб-приложение. Оно полностью повторяет функционал обычного, но его ядром является веб-сайт. Для создания используются фреймворки React и Angular. PWA-приложение может стать выходом, если ваше приложение удалили из сторов. Такой опцией воспользовались некоторые наши клиенты-банки.
- Нативная разработка для Android и iOS. В этом случае нужно писать две кодовые базы для двух операционных систем. Для Android — на языке программирования Kotlin, для iOS — на Swift.
Кроссплатформенная разработка — это создание приложения на единой кодовой базе сразу для двух операционных систем, с помощью готовых библиотек и компонентов. Для такой разработки используются универсальные фреймворки: Flutter, React Native, Apache Cordova, Ionic и другие.

Кроссплатформенные приложения
Кроссплатформенная разработка пользуется популярностью среди владельцев бизнеса, потому что за счёт создания единой кодовой базы сразу для iOS и Android можно сэкономить до 40% бюджета.
В каких случаях нужен кроссплатформенный подход
Кроссплатформенная разработка подойдёт для проектов, для которых важно:
- Высокое качество по приемлемой цене. В среднем, для создания нативного приложения требуется 8-9 специалистов, в то время как для реализации аналогичного проекта на Flutter достаточно 5-6 человек. Так проект сэкономит около 40% бюджета.
- Прозрачное управление командой. Работать с одной командой разработки проще, чем переключаться между разработчиками для двух разных ОС. Менеджеру не нужно синхронизировать несколько команд и переживать, что часть информации может быть утеряна при дискоммуникации.
- Высокая производительность и продуманный UI. Кроссплатформенные приложения меньше нагружают систему, в отличие от нативных. Сейчас кроссплатформа Flutter поддерживает частотность воспроизведения видео до 120 кадров в секунду, что устраняет торможение и потерю кадров.

Успешные кейсы
Приложение для СМП Банка
За короткий срок мы разработали банковское b2c-приложение на Flutter с автотестами и необходимой инфраструктурой. Более того: используя ту же кодовую базу, мы создали продукт для второго банка группы — Мособлбанка, а в период санкций предложили быстрое решение, чтобы вернуть приложение в сторы: перевести проект в формат PWA — и тоже с помощью Flutter.
Платформа видеостриминга The Hole
В этом приложении было очень важно сделать плавные анимации перехода между экранами. Flutter отлично справился с этой задачей и главной функциональностью приложения — видеоплеером.
Сети аптек Ригла, Живика, Будь здоров
С помощью Flutter мы создали для крупнейшей сети аптек в России одно кроссплатформенное приложение вместо шести нативных. Приложение стало для сети новым каналом продаж, и теперь 70% всех онлайн-клиентов совершают покупки через мобильный интерфейс.

Инструменты для кроссплатформенной разработки
Сегодня на рынке представлено множество фреймворков, и у каждого есть свои плюсы и минусы. Далее рассмотрим, какие кроссплатформенные решения можно считать оптимальными для разработки мобильных приложений.
Какую кроссплатформу выбрать
Чтобы определиться с фреймворком, ответьте на эти вопросы:
- какими функциями должно обладать будущее приложение?
- для каких устройств оно будет доступно?
- какое по объёму оно должно быть?
Flutter
Кроссплатформенный фреймворк Flutter создала и развивает компания Google, в 2021 году он стал самым популярным решением для разработки мобильных приложений.

Flutter позволяет:
- запустить сразу три канала продаж: десктоп, мобильную и веб-версию продукта на единой кодовой базе;
- создать любой дизайн в сжатые сроки, с помощью графического движка и набора виджетов;
- сделать плавные анимации и переходы между экранами.
Мы в Surf более 12 лет создаём мобильные приложения для различных отраслей бизнеса. И Flutter зарекомендовал себя как надёжный инструмент для реализации любой функциональности. С его помощью мы создаём мобильные интернет-магазины, решения для банков, и даже мультимедийные проекты, например, высоконагруженную видеостриминговую платформу.
React Native
Один из самых популярных фреймворков для разработки кроссплатформенных приложений. Он может обеспечить высокую производительность, но с одной оговоркой — ни одна кроссплатформа не сравнится в этом параметре с нативными технологиями. Однако, с точки зрения пользователей, существенных различий с нативными приложениями не будет, так как React Native, как и Flutter, обеспечивает плавную прокрутку экранов, анимацию и переходы.
Читайте подробнее о сравнении Flutter и React Native.
Apache Cordova
Один из старейших кроссплатформенных фреймворков, созданный в 2009 году. По сути, это среда разработки с открытым исходным кодом, работающая на стандартных веб-технологиях. Мобильное приложение, созданное на Cordova, представляет собой несколько HTML-страниц в «оболочке» платформы и использует специальный виджет, который выполняет все действия. Так, приложение становится максимально похожим на нативное. Эта технология подойдёт, если вам в короткие сроки нужно создать прототип. Однако, если в вашем приложении нужна хорошая производительность, много графики и анимаций, лучше присмотреться к более современной кроссплатформе, например, Flutter.
Узнайте подробнее о Flutter в сравнении с Apache Cordova.
Xamarin
Кроссплатформенный фреймворк Xamarin разработан в 2011 году. В отличие от Flutter, Xamarin не является бесплатным для коммерческого использования. Xamarin может быть хорошим выбором для тех, кто уже работает в экосистеме Microsoft, или когда большая часть технологического стека написана на языках семейства .NET.
Flutter или Xamarin: что выбрать для кроссплатформенной разработки.
Где узнать больше о кроссплатформенной разработке
Разработчики Surf активно участвуют в развитии кроссплатформенных технологий. В открытом репозитории на GitHub мы регулярно обновляем базы готовых решений для Flutter. Кроме того, мы публикуем технические кейсы и статьи на Хабре, записываем подкасты и ведём собственное YouTube-шоу.
Команда Surf создала первый банк в Европе на этом фреймворке и является сооснователем первого в России официального сообщества Flutter-разработчиков.