Flutter
Flutter | |
---|---|
![]() | |
Тип | фреймворк |
Автор | |
Разработчики | 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.
Первая версия выпущена в 2015 году под названием «Sky», работала только для Android-приложений. Основная заявленная особенность — высокая графическая производительность (возможность отображения 120 кадров в секунду). Полная поддержка создания веб-приложений появилась в версии 2.0 (март 2021 года), с этой же версии реализована поддержка создания настольных приложений для Windows, macOS и Linux и Google Fuchsia (в виртуальной машине Dart с JIT-компилятором).
Из-за ограничений на динамическое выполнение кода в App Store, под iOS Flutter использует AOT-компиляцию[4]. Широко используется такая возможность платформы Dart, как «горячая перезагрузка», когда изменение исходного кода применяется сразу в работающем приложении без необходимости его перезапуска.
Основные составляющие комплекта — платформа Dart, движок Flutter, библиотека Foundation, наборы виджетов и средства разработки (Flutter DevTools).
Движок Flutter написан преимущественно на C++, поддерживает низкоуровневый рендеринг с помощью графической библиотеки Google Skia, имеет возможность взаимодействовать с платформозависимыми SDK под Android и iOS.
Библиотека Foundation[5], написанная на языке Dart, содержит основные классы и методы для создания приложений Flutter и взаимодействия с движком Flutter.
Дизайн пользовательского интерфейса приложений Flutter предполагает использование виджетов, описываемых как неизменяемые объекты какой-либо части пользовательского интерфейса. Все графические объекты, включая текст, формы и анимацию, создаются с помощью виджетов; комбинированием простых виджетов создаются сложные виджеты. С фреймворком поставляется два основных набора виджетов — Material Design (стиль Google) и Cupertino (стиль Apple). При этом создавать приложения Flutter можно и без виджетов, напрямую вызывая методы библиотеки Foundation для работы с канвой.
Примечания
- ↑ https://github.com/flutter/flutter/releases/tag/3.24.0
- ↑ https://github.com/flutter/flutter/graphs/contributors
- ↑ https://medium.freecodecamp.org/https-medium-com-rahman-sameeha-whats-flutter-an-intro-to-dart-6fc42ba7c4a3
- ↑ stephenwzl. Flutter’s Compilation Patterns (неопр.). ProAndroidDev (1 августа 2018). Дата обращения: 22 декабря 2018. Архивировано 9 июня 2020 года.
- ↑ foundation library - Dart API (неопр.). docs.flutter.io. Дата обращения: 22 декабря 2018. Архивировано 13 декабря 2017 года.