В мире более пяти миллиардов смартфонов. Из них около 85% работают на Android, остальные 15% — на iOS, по данным IDC. Казалось бы, выгоднее разработать нативное приложение для Android? Но не все так однозначно, и всегда жаль терять одну из аудиторий.
Чтобы оптимизировать процесс и не программировать мобильное приложение для каждой из операционных систем, можно прибегнуть к кроссплатформенной разработке. В ее основе лежит единый исходный код и стек технологий.
Петр Чернышев, CEO Friflex, компании, которая специализируется на разработке кроссплатформенных приложений, объясняет, что эти технологии дают бизнесу и почему лучше выбирать Flutter.
Содержание:
- Что такое кроссплатформенная и нативная разработка?
- Различия мультиплатформенной и нативной разработки
- Когда стоит применять мультиплатформенную разработку?
- Лучшие кроссплатформенные фреймворки для приложений
- Преимущества кроссплатформенной разработки приложений
Что такое кроссплатформенная и нативная разработка?
Рассмотрим три основных варианта разработки приложений.
PWA — это технология, которая трансформирует веб-сайт в мобильное приложение. PWA позволяет открывать приложение с помощью мобильного браузера.
Нативная разработка позволяет создавать приложения только для одной ОС — отдельно для iOS, Android и других. Разработка осуществляется строго на нативном языке программирования ОС. К примеру, в iOS применяются языки Swift/Objective-C, в Android — Java/Kotlin. При выборе нативной разработки придется поддерживать минимум две платформы раздельно. Нативное приложение будет работать только на «своей» платформе. Один код — одна ОС.
Кроссплатформенная разработка, ее также называют мультиплатформенной. В этом случае используется единая кодовая база, которая подойдет для разных платформ, будь то Android, iOS, Windows, macOS, Linux. Технология может применяться даже в умных часах или для программирования бытовой техники.
Различия кроссплатформенной и нативной разработки
Нативная разработка однозначно проигрывает мультиплатформенной с точки зрения финансовых затрат. Ведь для нее нужно практически задвоить все процессы. Разные логика предметной области, кодовая база и технологический стек ведут к:
- увеличению штата программистов (команды под Android и IOS);
- увеличению затрат на создание двух приложений для каждой ОС;
- увеличению затрат на дальнейшую поддержку приложений.
Когда стоит применять мультиплатформенную разработку?
У кроссплатформенных фреймворков нет ограничений для реализации функций в мобильном приложении. И есть и объективные причины для использования кросс-платформенной разработки:
- Когда нужно быстро сделать MVP. При создании минимально жизнеспособного продукта (MVP) и тестировании гипотез кроссплатформенная разработка экономичнее и быстрее реализуема.
- Когда ресурсы ограничены. С кроссплатформенной разработкой не придется привлекать две команды разработчиков для разных ОС.
Но есть и случаи, когда нативная разработка может оказаться предпочтительнее. Однако это не означает, что применение нативной разработки всегда менее целесообразно. В некоторых ситуациях стоит выбрать именно ее:
- Когда важна максимальная производительность приложения без использования промежуточных библиотек. Это возможно только в нативной среде.
- Когда нужно создать приложение с минимальным объемом. Нативная разработка позволяет добиться компактности.
Читайте также:
Разработка мобильного приложения: как создать прототип и зачем нужен MVP
7 шагов к организации разработки в IT-компании
12 шагов к успешному запуску детского приложения
Лучшие кроссплатформенные фреймворки для приложений
Разберем четыре самые популярные кроссплатформенные технологии и выделим их особенности.
- Xamarin
Это платформа с открытым исходным кодом для разработки приложений высокой производительности для iOS, Android и Windows с .NET. Xamarin позволяет использовать не менее 90% кода приложения без изменений на разных платформах. Можно написать бизнес-логику на одном языке и при этом получить интерфейс, поведение, характеристики производительности, свойственные необходимой операционной системе.
- React Native
Разработан Facebook для поддержки таких платформ, как iOS, macOS, Apple tvOS, Android, Android TV, Web, Windows и UWP. Технология дает возможность работать с библиотекой React вне браузера для создания нативных приложений, имеющих полный доступ к системным API-платформам.
- Kotlin Multiplatform Mobile
Позволяет использовать единый исходный код для логики предметной области приложений Android и iOS. Специфичный для платформы код потребуется только в определенных моментах (при работе со специфичными для платформы API или для разработки собственного пользовательского интерфейса).
- Flutter
Фреймворк разработан Google и постоянно обновляется. При том, что технология использует один код для двух ОС, для конечного пользователя приложение не отличается от нативного. Таким образом, Flutter совмещает в себе преимущества кроссплатформенного и нативного подходов, что уже оценили многие крупные компании. Свой выбор в пользу данной технологии сделали Alibaba, Philips Hue, Hamilton, Tencent, Grab, Groupon, ГК «Дикси», «Яндекс.Драйв» и другие мировые и российские компании.
Сравнительная таблица кроссплатформенных фреймворков, по данным на январь 2021
Команда Friflex успела поработать и оценить все фреймворки. Опираясь на богатый опыт, мы выбрали Flutter, который постоянно развивается и предлагает новые функции и разработчику, и бизнесу.
Google активно работает над фреймворком и постоянно его обновляет: в марте 2021 года компания представила обновленную версию Flutter 2. Согласно исследованию Statista, в 2020 году Flutter использовали 39% мировых девелоперов, в 2021 показатель составил 42%, сместив React Native на второе место. Такой рост популярности обусловлен высокой скоростью написания кода.
Опрос на портале Stackoverflow показал, что Flutter входит в тройку любимых фреймворков разработчиков. Пользователи GitHub (крупнейшего сервиса для хранения исходного кода) также положительно оценили Flutter. На данный момент у фреймворка уже 128 тыс. звезд.
Данные сайта insights.stackoverflow.com
Преимущества кроссплатформенной разработки приложений
К преимуществам кроссплатформенной разработки относят скорость разработки (она выше) и стоимость разработки (она ниже). Расскажем о преимуществах на примере фреймворка Flutter:
- как мы уже говорили, мультиплатформенная разработка быстрее и экономичнее. Опыт показал, что экономия времени на разработку приложения составляет до 40% по сравнению с нативной;
- скорость Flutter выше, чем у других фреймворков: частота работы — частота обновления экрана близка к 60 FPS (количество кадров в секунду);
- Flutter позволяет быстрее выйти на рынок с готовым или минимально жизнеспособным продуктом;
- экономия на штате программистов — достаточно одной команды;
- высокое качество кода благодаря детальному code review (проверка кода на предмет ошибок и неправильных архитектурных решений). Так как команда программистов Flutter работает с единой кодовой базой, все члены максимально погружены и разбираются в проекте;
- довольно простое масштабирование разработки in-house и через подрядчиков. Можно создать библиотеку-компонент для приложений бренда;
- неограниченность в создании функционала и интерфейса приложения;
- низкие затраты на ликвидацию ошибок и обновления;
- каждый программист может ознакомиться с исходным кодом Flutter и даже внести вклад в его развитие;
- в Flutter используется собственный высокопроизводительный движок рендеринга для рисования виджетов без зависимости от нативных элементов;
- нет необходимости синхронизировать создание Android- и iOS-приложения и тратить дополнительные ресурсы на менеджмент разработки. В нативном подходе, как правило, разработка на одной из платформ идет быстрее;
- Flutter имеет только один слой написанный на C/C++, что позволяет добиться производительности очень близкой к нативной.
Google Trends подтверждает растущий интерес к фреймворку Flutter, это видно из сравнительного графика ниже.
Данные сайта trends.google.ru
Flutter используется разработчиками по всему миру. А благодаря сокращению времени разработки кода, увеличению скорости вывода продукта на рынок, производительности, близкой к нативной, и другим преимуществам, нет сомнений, что Flutter будет развиваться и доминировать на рынке в ближайшем десятилетии.
Фото на обложке: Monstar Studio/shutterstock.com
Нашли опечатку? Выделите текст и нажмите Ctrl + Enter
Материалы по теме
- Пройти курс «Как самозанятому стать ИП»
- 1 «Руссофт» озвучил главные IT-тренды 2025 года: новые инвест-инструменты, аккуратность с ИИ и популярность облаков
- 2 Китайскую соцсеть RedNote оценят в $20 млрд после миграции пользователей из TikTok — Bloomberg
- 3 В работе Steam произошел глобальный сбой 17 января
- 4 Правила разработки приложений для детей — этические и юридические аспекты
ВОЗМОЖНОСТИ
28 января 2025
03 февраля 2025
28 февраля 2025