Flutter — комплект средств разработки и фреймворк с открытым исходным кодом для создания мобильных приложений под Android и iOS, веб-приложений, а также настольных приложений под Windows, macOS и Linux с использованием языка программирования Dart, разработанный и развиваемый корпорацией Google.
Flutter | |
---|---|
Тип | фреймворк |
Автор | |
Разработчики | Google, Jonah Williams[вд][2], Adam Barth[вд], Greg Spencer[вд] и Ян Хиксон |
Написана на | C++, Dart[3] и Skia Graphics Engine[вд] |
Первый выпуск | 23 октября 2014 |
Последняя версия | |
Репозиторий | github.com/flutter/flutt… |
Лицензия | модифицированная лицензия BSD[вд] |
Сайт | flutter.dev (англ.) |
Медиафайлы на Викискладе |
Архитектура
правитьОсновные составляющие комплекта — платформа 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].
См. также
правитьПримечания
править- ↑ https://github.com/flutter/flutter/releases/tag/3.24.5
- ↑ https://github.com/flutter/flutter/graphs/contributors
- ↑ https://medium.freecodecamp.org/https-medium-com-rahman-sameeha-whats-flutter-an-intro-to-dart-6fc42ba7c4a3
- ↑ foundation library - Dart API . docs.flutter.io. Дата обращения: 22 декабря 2018. Архивировано 13 декабря 2017 года.
- ↑ stephenwzl. Flutter’s Compilation Patterns . ProAndroidDev (1 августа 2018). Дата обращения: 22 декабря 2018. Архивировано 9 июня 2020 года.
- ↑ Claburn, Thomas Google's Flutter app development framework now stable across platforms . theregister.com (11 мая 2022).
- ↑ Larabel, Michael Google's Flutter UI Toolkit Forked As Flock . phoronix.com (29 октября 2024). Дата обращения: 30 октября 2024.
- ↑ Проект Flock основал форк фреймворка Flutter . www.opennet.ru. Дата обращения: 1 ноября 2024.