В мире мобильной разработки выбор технологии определяет успех проекта. В нашей компании мы с 2020-года сделали ставку на Flutter – фреймворк от Google, который позволяет создавать красивые, быстрые и кроссплатформенные мобильные приложения. Но почему именно Flutter?
Преимущества Flutter
-
Единый код для iOS и Android – вместо двух отдельных команд для каждой платформы, мы используем одну кодовую базу, что сокращает время и стоимость разработки.
-
Высокая производительность – благодаря Dart, приложения на Flutter работают плавно и быстро.
-
Гибкость UI – Flutter предоставляет возможность создавать кастомные интерфейсы, которые выглядят одинаково на всех платформах.
-
Быстрая разработка – технология Hot Reload позволяет вносить изменения в код и мгновенно видеть результат, что ускоряет процесс разработки.
-
Поддержка сообщества и Google – активное развитие и поддержка со стороны Google гарантирует долгосрочное будущее технологии.
Недостатки Flutter которые мы заметили
Несмотря на все преимущества, Flutter не лишён недостатков:
-
Большой размер приложения – по сравнению с нативными решениями, приложения на Flutter занимают больше места из-за встроенного движка рендеринга.
-
Ограниченная поддержка сторонних библиотек – хотя экосистема Flutter активно развивается, некоторые специфические библиотеки всё ещё лучше реализованы в нативных языках и их интегрируем вручную.
-
Ограниченный доступ к платформенным API – в некоторых случаях требуется писать платформенно-специфичный код на Kotlin или Swift, что усложняет разработку.
Однако все эти проблемы не критичны для нашей команды. Наши разработчики обладают глубокими знаниями не только Flutter, но и нативных технологий (Kotlin, Swift), что позволяет нам легко обходить любые ограничения. Мы интегрируем нативные решения там, где это необходимо, и быстро адаптируемся к изменениям в экосистеме Flutter.
Проекты, разработанные на Flutter
В нашей компании Revolution Global мы успешно разработали несколько крупных проектов на Flutter:
-
Приложение для управления финансами – платежные приложения с удобным UI и безопасными платежами (TezPay, Yubor, TezDa и другие).
-
Платформы для интернет-магазинов – решения для электронной коммерции с интеграцией платежных систем и удобной корзиной покупок (интернет магазин Asaxiy, маркетплейс Chakana и другие).
-
Платформа для покупки и чтения книг – сервис с электронной библиотекой и возможностью покупки цифровых изданий (AsaxiyBooks).
-
Корпоративные приложения – решения для внутреннего использования, включая HR-платформы и системы управления заказов (экосистема Asaxiy).
-
Avtomato.uz – одна из наших самых масштабных разработок и мултимодульное/multi-tenant приложение на основе методологии LaunchDarkly. Мы полностью реализовали фронтенд-часть этого проекта на Flutter, обеспечив поддержку Android, iOS, Web, Windows и macOS. Благодаря Flutter мы смогли создать единое, удобное и производительное приложение для всех платформ, минимизируя затраты на разработку и поддержку.
Команда Flutter-разработчиков
До 2020 года мы разрабатывали мобильные приложения на Java/Kotlin для Android и на Swift для iOS. В 2020 году мы приняли стратегическое решение перейти на Flutter. В то время у нас было 2 разработчика мобильных приложений, и мы выделили им время для изучения новой технологии. Этот переход позволил нам сократить время разработки и упростить поддержку кода.
На данный момент в нашей компании работает 5 Flutter-разработчиков, которые специализируются на создании высококачественных кроссплатформенных приложений. Мы постоянно обучаем специалистов и внедряем лучшие практики мобильной разработки. Мы всегда готовы к изменениям и обучению персонала, следим за новыми тенденциями и адаптируемся к современным технологиям.
CI/CD в Flutter-разработке
Автоматизация процессов развертывания играет ключевую роль в нашей разработке. Мы используем GitLab CI/CD, который позволяет нам:
-
Автоматически тестировать код перед его деплоем.
-
Собирать и распространять билды для iOS и Android без участия разработчиков.
-
Обеспечивать быструю доставку обновлений пользователям.
-
Настраивать этапы деплоя для разных окружений (тестовое, стейджинг, продакшен).
-
Интегрировать SonarQube для анализа кода и контроля качества.
В процессе CI/CD мы также планируем в ближайщее время использовать Fastlane, что позволяет нам автоматически подписывать приложения, загружать их в App Store и Google Play, а также отправлять сборки тестировщикам. Это значительно ускоряет процесс релизов и уменьшает вероятность ошибок при ручном развертывании.
Будущее Flutter в нашей компании
Мы уверены, что Flutter – это технология, которая останется с нами надолго. В планах нашей компании – расширение команды, разработка новых продуктов и интеграция Flutter с веб-решениями. Мы продолжаем совершенствовать наши процессы и готовы делиться опытом с сообществом разработчиков.
Если вас интересует разработка на Flutter и работа в инновационной IT-компании, следите за нашими вакансиями и новостями!