Flutter

Flutter
Логотип программы Flutter
Тип фреймворк
Автор Google
Разработчики Google, Jonah Williams[вд][2], Adam Barth[вд], Greg Spencer[вд] и Ян Хиксон
Написана на C++, Dart[3] и Skia Graphics Engine[вд]
Первый выпуск 23 октября 2014
Последняя версия
Репозиторий github.com/flutter/flutt…
Лицензия модифицированная лицензия BSD[вд]
Сайт flutter.dev (англ.)
Логотип Викисклада Медиафайлы на Викискладе

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

Архитектура

[править | править код]

Основные составляющие комплекта — платформа Dart, движок Flutter, библиотека Foundation, наборы виджетов и средства разработки (Flutter DevTools). Основная заявленная особенность — высокая графическая производительность (возможность отображения 120 кадров в секунду).

Движок Flutter написан преимущественно на C++, поддерживает низкоуровневый рендеринг с помощью графической библиотеки Google Skia, имеет возможность взаимодействовать с платформозависимыми SDK под Android и iOS.

Библиотека Foundation[4], написанная на языке Dart, содержит основные классы и методы для создания приложений Flutter и взаимодействия с движком Flutter.

Дизайн пользовательского интерфейса приложений Flutter предполагает использование виджетов, описываемых как неизменяемые объекты какой-либо части пользовательского интерфейса. Все графические объекты, включая текст, формы и анимацию, создаются с помощью виджетов; комбинированием простых виджетов создаются сложные виджеты. С фреймворком поставляется два основных набора виджетов — Material Design (стиль Google) и Cupertino (стиль Apple). При этом создавать приложения Flutter можно и без виджетов, напрямую вызывая методы библиотеки Foundation для работы с канвой.

Из-за ограничений на динамическое выполнение кода в App Store, под iOS Flutter использует AOT-компиляцию[5]. Широко используется такая возможность платформы Dart, как «горячая перезагрузка», когда изменение исходного кода применяется сразу в работающем приложении без необходимости его перезапуска.

Первая версия выпущена в 2015 году под названием «Sky» и работала только для Android-приложений.

Полная поддержка создания веб-приложений появилась в версии Flutter 2.0 (март 2021 года), с этой же версии реализована поддержка создания настольных приложений для Windows, macOS и Linux и Google Fuchsia (в виртуальной машине Dart с JIT-компилятором).

12 мая 2022 года состоялся релиз Flutter 3 и Dart 2.17 со стабильной поддержкой всех десктопных платформ[6].

27 октября 2024 года сообщество разработчиков анонсировало форк Flock. Инициатором форка стал Мэтт Кэрролл, бывший сотрудник Google, ранее входивший в команду разработчиков Flutter. В качестве причины создания форка называется недостаточный объём ресурсов, которые компания Google вкладывает в проект[7][8].

Примечания

[править | править код]
  1. https://github.com/flutter/flutter/releases/tag/3.24.4
  2. https://github.com/flutter/flutter/graphs/contributors
  3. https://medium.freecodecamp.org/https-medium-com-rahman-sameeha-whats-flutter-an-intro-to-dart-6fc42ba7c4a3
  4. foundation library - Dart API. docs.flutter.io. Дата обращения: 22 декабря 2018. Архивировано 13 декабря 2017 года.
  5. stephenwzl. Flutter’s Compilation Patterns. ProAndroidDev (1 августа 2018). Дата обращения: 22 декабря 2018. Архивировано 9 июня 2020 года.
  6. Claburn, Thomas Google's Flutter app development framework now stable across platforms. theregister.com (11 мая 2022).
  7. Larabel, Michael Google's Flutter UI Toolkit Forked As Flock. phoronix.com (29 октября 2024). Дата обращения: 30 октября 2024.
  8. Проект Flock основал форк фреймворка Flutter. www.opennet.ru. Дата обращения: 1 ноября 2024.