Flutter

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Flutter
Логотип программы Flutter
Тип SDK и фреймворк
Автор Google
Разработчик Google
Написана на C++, Dart[1] и Skia Graphics Engine[d]
Первый выпуск май 2017
Последняя версия
Лицензия 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-компиляцию[2]. Широко используется такая возможность платформы Dart, как «горячая перезагрузка», когда изменение исходного кода применяется сразу в работающем приложении без необходимости его перезапуска.

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

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

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

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

Примечания[править | править код]

  1. https://medium.freecodecamp.org/https-medium-com-rahman-sameeha-whats-flutter-an-intro-to-dart-6fc42ba7c4a3
  2. stephenwzl. Flutter’s Compilation Patterns. ProAndroidDev (1 августа 2018). Дата обращения: 22 декабря 2018. Архивировано 9 июня 2020 года.
  3. foundation library - Dart API. docs.flutter.io. Дата обращения: 22 декабря 2018. Архивировано 13 декабря 2017 года.