Рубріки: Теория

Что такое Flutter и какие его особенности

Андрій Губін

Если вы когда-нибудь интересовались созданием мобильных приложений, а тем более запускали свои собственные, скорее всего знаете, что главная боль разработчиков в этой сфере — найти универсальный кроссплатфоменный инструмент. Ведь вам нужно одновременно удовлетворить потребности как пользователей Android, так и iOs. А еще хорошо бы вспомнить о ПК-боярах и написать версию под Mac и «окна». И Linux, не забываем про Linux!

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

Что такое Flutter

Flutter — это бесплатный кроссплатформенный SDK и фреймворк с открытым кодом. Поддержкой и развитием инструмента разработки занимается Google. По этой причине под Android пишется, как по маслу, а для iOS нужно «допиливать» некоторые специфические элементы на Swift.

Но, в большинстве случаев, для создания приложений на Flutter используется один язык программирования (о нем расскажем в следующем разделе) и один массив кода.

Из чего состоит Flutter?

Язык программирования Dart

Во Flutter используется язык программирования Dart, С-подобный «убийца» JavaScript, поддерживаемый тем же Google. Изначально он позволял писать приложения только под мобильные платформы, но буквально пару лет назад появилась версия Dart 2.6, с которой стала доступна разработка десктопных версий программ. 

Библиотека Foundation

Написана на «родном» для фреймворка Dart. Предоставляет базовые классы и функции, необходимые для создания приложения с помощью фреймворка.

Движок Flutter

Написан преимущественно на С++. Способен использовать либо графическую библиотеку Google Skia, либо пользовательский графический слой Impeller для обеспечения поддержки низкоуровневого рендеринга. Также движок Flutter взаимодействует с узконаправленными SDK для Android и iOs. Это позволяет реализовать специальные возможности, файловый ввод-вывод, встроенную поддержку подключаемых модулей и другие функции.

Flutter DevTools (наборы виджетов и средства разработки)

Flutter содержит два набора виджетов. Первый, Material Design, реализует язык дизайна от Google с таким же названием. Второй набор виджетов под названием Cupertino реализует рекомендации Apple по интерфейсу iOS Human.

Преимущества Flutter

К преимуществам Flutter относятся…

1Hot-reload

Функция, позволяющая увидеть внесенные изменения без перезагрузки приложения. Это удобный инструмент, например, для дизайнеров, позволяющий изменять размеры элементов в реальном времени.

2Быстрый запуск MVP

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

3Широкое сообщество

Flutter разрабатывают с 2015 года и за это время он оброс активным сообществом, которое продолжает расти. Найти человека, который угостит тебя дружеским советом, а то и куском свежего кода, не составит труда.

4Неотличимость от Native-приложений

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

5Работа с популярными IDE

Flutter «дружит» с самыми востребованными IDE и редакторами кода, такими, как:

  • Visual Studio Code;
  • Emacs;
  • Android Studio;
  • IntelliJ IDEA.

Другие IDE также можно использовать благодаря плагинам, либо же из командной строки с помощью инструментов Flutter.

6Геймификация

Захотелось разбавить ваше слишком серьезное приложение элементами геймификации? У Flutter есть для вас инструменты, позволяющие добавлять такие функции, а также быстрее и проще создавать игры.

7Ускорение тестирования

Напомним, что приложение, созданное на Flutter, имеет общий массив кода. Соответственно, вашей команде тестировщиков нужно будет меньше времени для его проверки на ошибки. 

Успешные проекты, реализованные на Flutter

Google

Корпорация-хозяин не стесняется использовать фреймворк для разработки собственных приложений. Например, на Flutter была переписана и запущена в Индии Google Pay — система электронных платежей для устройств на Android. Также с помощью Flutter осуществляется поддержка Google Assistant, Google Ads и Google Stadia.

Tencent

Китайская корпорация использовала Flutter для создания целого ряда своих приложений. Благодаря Flutter, разработчики компании используют разнообразные графические возможности, сохраняя частоту кадров на уровне 60 fps.

А вот и список некоторых приложений корпорации:

  • English AITeacher — инструмент для изучения английского языка, подстраивающий программу под каждого студента;
  • Now Live — платформа для телетрансляций и live-стримов;
  • Mr.Translator — голосовой переводчик, а также помощник в изучении иностранных языков;
  • DingDang — голосовой помощник на основе ИИ, который может зачитать пользователю прогноз погоды, рассказать свежие новости, распланировать дела и многое другое.

BMW

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

Alibaba Group

Еще один китайский гигант прибег к использованию Flutter для создания своего продукта. На фреймворке от Google разработано приложение Xianyu — площадка для продажи б/у-товаров. Хотя для многих китайцев, которые знают толк в экономии, эта платформа стала своеобразной социальной сетью.

И таких примеров десятки. С некоторыми успешными кейсами можно ознакомиться на сайте Flutter. Многие из них сопровождаются мотивирующими видеороликами, так что наслаждайтесь!

Конкуренты Flutter

Flutter — далеко не единственный на рынке кроссплатформенной разработки, и у него достаточно популярных конкурентов, с активными большими сообществами и поддерживающим IT-гигантом за спиной:

  • React Native. Популярный кроссплатформенный фреймворк от Facebook с открытым кодом. За основу взята библиотека React, а код пишется на JavaScript. Применяется компаниями-гигантами Tesla, Walmart, Pinterest, Uber и другими.
  • Ionic. Открытый SDK для разработки гибридных мобильных приложений. Оригинальная версия была создана на основе AngularJS і Apache Cordova. Для работы с ним нужно знать JavaScript, HTML и CSS. Производительность средняя.
  • Xamarin. Теряющая популярность платформа от Microsoft. Требует знаний C# и .Net. Xamarin неплохо оптимизирован, что дает скорость работы, близкую к нативным приложениям.
  • PhoneGap. Дистрибутив Apache Cordova, так что, как и с Ionic, требуются знания JavaScript, HTML и CSS. Отличается невысокой производительностью по сравнению с нативными инструментами.
  • Kotlin Multiplatform Mobile. SDK от JetBrains, основанный, как вы могли догадаться, на Kotlin. К концу 2022 года находился на этапе бета-тестирования, что не помешало платформе заинтересовать такие компании, как Netflix, Philips, Autodesk, Baidu и других.

Перспективы Flutter

Сегодня сомнений в отличных перспективах Flutter не возникает. Фреймфорк и Dart регулярно обновляются, обрастая новыми возможностями, а Google продолжает быть оплотом мощи и стабильности.

В 2022 году, по данным Statista, Flutter занял шестое место среди фреймворков, незначительно обойдя тот же React Native.

И его популярность продолжает расти, а интерес к Flutter со стороны технологических гигантов подтверждает перспективность фреймворка.

Если же говорить о количестве вакансий, то их число на рынке также увеличивается. Прямо сейчас на DOU висит 16 вакансий Flutter-разработчиков. Для сравнения, под React Native открыто 28 позиций. 

Заключение

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

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023