Читать: 15 мин

Flutter: история успеха

Flutter: история успеха

Кроссплатформенный фреймворк Flutter появился в 2017 году. С тех пор он стал одним из самых популярных инструментов для разработки мобильных приложений. Мы в Friflex работаем с Flutter с первого релиза, следим за его развитием и каждый год проводим большую конференцию о кроссплатформенной разработке — CrossConf. В этой статье вспоминаем историю фреймворка. А еще делимся, как с ним познакомились наши разработчики.

Что такое Flutter

Flutter — фреймворк с открытым исходным кодом. Он позволяет создавать мобильные приложения под Android и iOS, веб-приложения, а также настольные приложения под Windows, macOS и Linux. Разрабатывает и развивает фреймворк компания Google.

У Google нет официальной версии происхождения названия фреймворка. Может быть, оно отсылает к песне группы The Beatles "Paperback Writer". В ней есть строчка "And if you read this, then I'll be flutterin' by", «если ты это читаешь, то я буду рядом». А может, один из разработчиков просто предложил это название, и оно всем понравилось.

В переводе с английского to flutter значит «порхать» или «трепетать». Это отражает основную идею фреймворка — быстрая и плавная работа приложений благодаря анимированным пользовательским интерфейсам.

Как развивался Flutter

2015: Секретный проект Google

Кроссплатформенные фреймворки в 2015 уже были. Но React Native не подходил для проектов с тяжелой и сложной графикой и анимацией. QT Mobile не пользовался популярностью, а Ionic и PhoneGap использовали для визуализации приложений веб-технологии и совсем не применяли нативные компоненты. Такой подход сильно снижал производительность.

Google стремилась найти способ разрабатывать красивые приложения, которые бы без проблем работали и на iOS, и на Android. Компания без промедлений перешла от теории к практике и запустила секретный проект под кодовым названием Sky.

Команда проекта опубликовала Sky SDK и заявила задачу — добиться высокой скорости и уровня интеграции с web. Разработчики планировали, что Sky сможет выдавать картинку с частотой 120 кадров в секунду. Тогда дисплеи смартфонов еще не могли работать с такой скоростью — максимум с 60 кадрами в секунду.

Разработчики показали приложение, которое рисовало кадр за 1,2 миллисекунды. Другим приложениям для этого требовалось 8 миллисекунд.

2017: Flutter выходит из тени

В 2017 году вышла альфа-версия Flutter, пока все еще под именем Sky. Она работала только на Android и была вдохновлена движком Skia. Особенность Skia в том, что он абстрагируется от графических API, специфичных для платформы, и позволяет рисовать сложные элементы интерфейса и любые 2D-сцены со скоростью 60 кадров в секунду.

А еще в 2017 вышел первый коммерческий продукт на Flutter — приложение к бродвейскому мюзиклу «Гамильтон». По словам команды, фреймворк позволил разработать приложение за три месяца.

В приложении можно было просматривать фото и видео, использовать фильтры в стиле «Гамильтона», принимать участие в розыгрыше билетов, покупать товары бренда и петь в караоке песни из мюзикла.

Фанаты «Гамильтона» были в восторге от приложения. Кстати, оно до сих пор доступно на Android и iOS.

Пример отзыва: «Гамильтон» — приложение для всех нас: Как поклонник истории и поп-культуры могу сказать, что «Гамильтон» - единственный в своем роде мюзикл, в котором есть все, что вы любите! Я имел честь посмотреть это шоу, но хочу большего. Когда я услышал о приложении Hamilton, я сразу же его скачал. Больше всего мне понравились Новости, маски и лотерея. «Гамильтон» - это потрясающее приложение для всех, а не только для фанатов мюзикла. Лин-Мануэль Миранда гений, у которого получилось создать историю хип-хопа на Бродвее. Это впечатляющее приложение, и я рекомендую его скачать. Ещё один пример отзыва: Приложением «Гамильтон» просто и весело пользоваться: Приложение Hamilton настолько простое в использовании, что у вас просто нет оправдания, чтобы не принять участие в лотерее. Достаточно один раз ввести свое имя и предпочтения и приложение их сохранит. Не нужно заполнять все поля снова, как в других онлайн лотереях. Каждое утро в 9 часов вы получаете уведомление о результате последней лотереи. А в 10 часов вы получите еще одно уведомление об участие в следующей лотереи. Просто откройте уведомление и нажмите кнопку ввода. Готово, вы вошли. Приложение сохранит и последние три уведомления. Участие в лотереи стало для меня рутиной и спустя четыре месяца я выиграл.

2018: Flutter 1.0

В 2018 году вышла первая стабильная версия фреймворка — Flutter 1.0. Одной из ключевых характеристик релиза стала скорость загрузки и работы приложения. Разработчики увеличили ее за счет внедрения графического движка Skia 2D.

Еще во Flutter 1.0 появилась знаменитая «горячая перезагрузка». Эта функция автоматически обновляет приложение в браузере при сохранении изменений в исходном коде. Она позволяет разработчикам быстро увидеть результаты изменений. Самостоятельно перезагружать страницу не нужно.

Открытое программное обеспечение позволяет использовать, модифицировать и распространять код в других программах или приложениях. Разработчикам проще понимать, как работает код, когда он у них перед глазами.

2019: Больше платформ

Flutter 1.12 стал пятым стабильным релизом после версии 1.0. В нем было использовано 1,905 пул-реквестов от 188 разработчиков.

Команда добавила поддержку веб-технологий в бета-версии. Появились стабильные API для интеграции с Java, Kotlin, Objective-C и Swift. Функция Add-to-App позволила интегрировать Flutter в нативные iOS и Android-приложения.

В этом же году на конференции Google I/O New York Times представила KENKEN — одну из самых популярных игр на Flutter c поддержкой мобильных и веб-платформ.

Пользовательский интерфейс мобильной игры KENKEN, где на первом экране видны различные кнопки, такие как играть, описание, настройки и продолжить игру, а на втором экране виден набор кнопок с размерами игрового поля от 3x3 до 9x9 и кнопки получить больше пазлов, которая есть и на первом экране.

Через год с Flutter познакомился наш Flutter-разработчик Мурат Насиров.

«Flutter-код я впервые увидел в начале 2020 года. Тогда подумал, что это какая-то ни на что не похожая ерунда. Казалось странным использовать классы с множеством вложений других классов, да еще и всего один язык, не считая нативных в некоторых ситуациях.
Начиная свой путь в Android-разработке, я столкнулся с некоторыми нюансами верстки через xml-файлы, хотелось сделать переиспользуемый список элементов. Я поломал какое-то время голову, но так ничего и не получилось. Я снова вспомнил о Flutter. Посмотрел ролики от codeandart main про язык Dart.
После опыта с Java и JavaScript он показался мне простым. Я попробовал написать приложение на Dart. Мне понравилась простота написания интерфейсов. Код верстки — как на ладони, видно, за что отвечает каждый элемент интерфейса.
Flutter Inspector позволяет удобно переключаться на нужный участок кода нажатием на элемент верстки в эмуляторе. Набравшись опыта, я начал искать работу, связанную с Flutter-разработкой», — Мурат Насиров.

2021: Мультиплатформенность и монетизация

В 2021 году команда Google расширила возможности Flutter как мультиплатформенного фреймворка. Версия Flutter 2.8 поддерживала шесть платформ: iOS, Android, web, macOS, Windows и Linux.

В релизе появилась возможность монетизировать Flutter-приложения при помощи Google Mobile SDK. Появились пять рекламных форматов: баннеры, полноэкранная реклама, видео, нативная реклама и реклама при запуске приложения. Также Flutter-приложения с этого момента можно было интегрировать с AdMob и Ad Manager. Появилась возможность размещать рекламу от посредников.

Google Mobile Ads SDK for Flutter включает следующие типы реклам: реклама в виде баннера, интерстициальная реклама на весь экран, реклама в виде видео с вознаграждением, встроенная реклама и реклама при открытии приложения.

В 2021 году на pub.dev любой разработчик уже мог добавить собственный плагин, совместимый с Flutter. На момент выхода релиза 2.8 в репозитории находилось более 20 тысяч пакетов, которые можно было использовать для Flutter-проектов. А еще в это время впервые узнала о Flutter разработчик Friflex Анна Ахлестова.

«В конце 2021 года я пробовала себя в Android-разработке. Друг познакомил меня с Flutter. На меня произвела впечатление возможность разрабатывать продукт сразу под несколько платформ. Я начала изучать язык и фреймворк. Dart показался мне проще, чем Java. И я полностью перешла на сторону Flutter. Потом были часы обучения, первые pet-проекты, поиск работы и собеседования…», — Анна Ахлестова.

2022: Поддержка Windows, macOS, Linux и игры

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

В Flutter 3 появился Flutter Casual Games Tool Kit с шаблонами, учебниками и документацией для разработки казуальных игр. Разработчики показали стартовый шаблон игры с главным меню, страницей настроек, работой со звуком и графикой. Его можно было адаптировать под свою идею.

Casual Games Toolkit поддерживал Apple Game Center и игровые сервисы Google Play. Это значит, что разработчики теперь могли интегрировать в свой проект виджеты этих сервисов, например, таблицу лидеров.

Еще в Flutter 3 появилась стабильная поддержка macOS и Linux.

«Это очень важное обновление: теперь развитие Flutter выйдет далеко за пределы мобильной разработки. После этого не осталось сдерживающих факторов для разработки приложений на Flutter для десктопов», — Юрий Петров, Flutter Team Lead, Friflex.

В последнем релизе 3.19 появилась бета-версия Google AI Dart SDK. Она позволяет встраивать в Flutter-приложения функции на основе моделей генеративного ИИ семейства Gemini. Gemini API можно использовать для детального управления анимацией виджетов. Это повышает качество взаимодействия с пользователем. Узнать больше о работе с Google AI Dart SDK можно в кратком руководстве.

Кроме того, релиз 3.19 позволяет разрабатывать приложения для еще одной платформы — Windows Arm64.

Планы на будущее

В 2023 году экосистема Flutter выросла на 26% — до 48 000 пакетов в конце декабря. В январе 2024 года у Pub.dev было более 700 000 активных пользователей в месяц. На этот год у команды разработчиков фреймворка большие планы. Например:

  • интеграция AR, чтобы сделать приложения более интерактивным;
  • поддержка Flutter-приложений для Fuchsia OS — новой операционной системы от Google;
  • пересмотр дизайна UI/UX;
  • поддержка производительности.

Что почитать про Flutter

  1. Документация Flutter — официальная страница фреймворка с актуальной информацией.
  2. Официальный youtube-канал Flutter — видео разработчиков из команды фреймворка.
  3. GitHub-репозиторий Flutter — облачная платформа для хостинга IT-проектов на Flutter и совместной разработки.
  4. Документация Dart — официальная страница языка программирования.
  5. Сообщество Flutter — большое англоязычное сообщество Flutter-разработчиков.
  6. Dart&Flutter — телеграм-чат про Dart.

Поделиться:

Logo

Читайте также

01  
 
panda
Есть идея? Напишите нам! Заполнить бриф