Flutter
Flutter | |
---|---|
![]() | |
Тип | фреймворк |
Автор | |
Разработчики | Google, Jonah Williams[вд][3], Adam Barth[вд], Greg Spencer[вд] и Ян Хиксон |
Написана на | C, C++, Dart, Skia |
Первый выпуск | Альфа-версия (0.0.6) - 12 мая 2017[1] |
Последняя версия | |
Репозиторий | github.com/flutter/flutt… |
Лицензия | модифицированная лицензия BSD[вд] |
Сайт | flutter.io |
![]() |
Flutter - SDK с открытым исходным кодом для создания мобильных приложений от компании Google. Он используется для разработки приложений под Android и iOS, а также это пока единственный способ разработки приложений под Google Fuchsia.
История
Первая версия Flutter носила название "Sky" и работала только под Android. Она была представлена в 2015 году на саммите разработчиков Dart с заявленной возможностью рендеринга 120 фреймов в секунду. 4 декабря 2018 года во время Flutter Live было объявлено о выпуске первой стабильной версии 1.0.
Архитектура
- Платформа Dart
- Движок Flutter
- Библиотека Foundation
- Наборы виджетов
Платформа Dart
Приложения Flutter пишутся на языке Dart[4].
В Android, а также под Windows, macOS и Linux с помощью Flutter Desktop Embedding, Flutter работает в виртуальной машине Dart с JIT-компилятором. Из-за ограничений на динамическое выполнение кода в App Store, под iOS Flutter использует AOT-компиляцию[5].
Одно из главных преимуществ платформы Dart - "горячая перезагрузка", когда изменение исходного кода применяется сразу в работающем приложении без необходимости его перезапуска.
Движок Flutter
Движок написан преимущественно на C++, он поддерживает низкоуровневый рендеринг с помощью графической библиотеки Google Skia. А также имеет возможность взаимодействовать с платформозависимыми SDK под Android и iOS.
Библиотека Foundation
Эта библиотека[6], написанная на языке Dart, содержит основные классы и методы для создания приложений Flutter и взаимодействия с движком Flutter.
Виджеты
Дизайн пользовательского интерфейса приложений Flutter обычно включает в себя использование и/или создание различных виджетов. Виджет Flutter представляет собой неизменяемое описание какой-либо части пользовательского интерфейса. Все графические объекты, включая текст, формы и анимацию, создаются с помощью виджетов. Комбинированием простых виджетов создаются комплексные виджеты.
Однако, создавать приложения Fluter можно и без виджетов, напрямую вызывая методы библиотеки Foundation для работы с канвой.
Наборы виджетов
Фреймворк Flutter состоит из двух наборов виджетов, соответствующих конкретным описаниям дизайна: Material design от Google и Cupertino для имитации дизайна приложений в Apple iOS.
flutter.io — официальный сайт Flutter
- ↑ Flutter makes it easy and fast to build beautiful mobile apps.: flutter/flutter. — 2018-12-22.
- ↑ Release 3.32.0 · flutter/flutter
- ↑ https://github.com/flutter/flutter/graphs/contributors
- ↑ Введение в Dart для Java-программистов . Техноджем (9 декабря 2018). Дата обращения: 22 декабря 2018.
- ↑ stephenwzl. Flutter’s Compilation Patterns . ProAndroidDev (1 августа 2018). Дата обращения: 22 декабря 2018.
- ↑ foundation library - Dart API . docs.flutter.io. Дата обращения: 22 декабря 2018.