Flutter - это комплект для разработки программного обеспечения пользовательского интерфейса с открытым исходным кодом, созданный Google . Он используется для разработки кросс - платформенных приложений для Android , прошивкой , Linux , Mac , Windows , , Google Fuchsia , [4] и в Интернете от одного кодовую . [5]
Автор (ы) оригинала | |
---|---|
Разработчики) | Google и сообщество |
Первый выпуск | Альфа (v0.0.6) / май 2017 г . [1] |
Стабильный выпуск | 2.2.0 [2] / 19 мая 2021 г . |
Репозиторий | |
Написано в | C , C ++ , Dart [3] |
Платформа | Android , iOS , Google Fuchsia , веб-платформа , Linux , macOS и Windows |
Тип | Фреймворк приложения |
Лицензия | Новая лицензия BSD |
Веб-сайт | flutter |
Первая версия Flutter была известна под кодовым названием Sky и работала в операционной системе Android . Он был представлен на саммите разработчиков Dart в 2015 году [6] с заявленным намерением обеспечить стабильный рендеринг со скоростью 120 кадров в секунду . [7] Во время выступления на Google Developer Days в Шанхае компания Google анонсировала предварительную версию Flutter Release Preview 2, которая является последним крупным выпуском перед Flutter 1.0. 4 декабря 2018 года на мероприятии Flutter Live был выпущен Flutter 1.0, обозначая первую «стабильную» версию Framework. 11 декабря 2019 года Flutter 1.12 был выпущен на мероприятии Flutter Interactive. [8]
6 мая 2020 года были выпущены комплект для разработки программного обеспечения ( SDK ) Dart в версии 2.8 и Flutter в версии 1.17.0, в которых была добавлена поддержка Metal API, повышающая производительность на устройствах iOS (примерно на 50%), новый материал виджеты и новое сетевое отслеживание.
3 марта 2021 года Google выпустил Flutter 2 во время онлайн-мероприятия Flutter Engage. Это крупное обновление принесло официальную поддержку веб-приложений с новым средством визуализации CanvasKit и веб-виджетами, поддержку настольных приложений с ранним доступом для Windows , MacOS и Linux, а также улучшенные API - интерфейсы Add-to-App [9]
Архитектура каркаса
Основные компоненты Flutter:
- Платформа для дротиков
- Двигатель флаттера
- Библиотека фонда
- Виджеты для конкретного дизайна
- Инструменты разработки Flutter (DevTools)
Платформа для дротиков
Приложения Flutter написаны на языке Dart и используют многие из более продвинутых функций языка. [10]
В Windows , macOS и Linux [11] Flutter работает на виртуальной машине Dart, которая оснащена механизмом своевременного выполнения. При написании и отладке приложения Flutter использует компиляцию Just In Time, что позволяет выполнять «горячую перезагрузку», с помощью которой изменения исходных файлов могут быть внесены в работающее приложение. Flutter расширяет это за счет поддержки горячей перезагрузки с отслеживанием состояния , при которой в большинстве случаев изменения исходного кода немедленно отражаются в работающем приложении, не требуя перезапуска или потери состояния . [12]
Релизные версии приложений Flutter скомпилированы с опережающей компиляцией (AOT) как на Android, так и на iOS [13], что делает возможной высокую производительность Flutter на мобильных устройствах.
Двигатель флаттера
Движок Flutter, написанный в основном на C ++ , обеспечивает поддержку низкоуровневого рендеринга с использованием графической библиотеки Google Skia . Кроме того, он взаимодействует с SDK для конкретной платформы, например, с SDK для Android и iOS . [10] Flutter Engine - это портативная среда выполнения для размещения приложений Flutter. Он реализует основные библиотеки Flutter, включая анимацию и графику, файловый и сетевой ввод-вывод, поддержку специальных возможностей, архитектуру плагинов, а также среду выполнения и компиляцию Dart. Большинство разработчиков взаимодействуют с Flutter через Flutter Framework, который предоставляет реактивную структуру и набор виджетов платформы, макета и основы.
Библиотека фонда
Библиотека Foundation, написанная на Dart , предоставляет базовые классы и функции, которые используются для создания приложений с использованием Flutter, например API-интерфейсы для связи с движком. [10] [14]
Виджеты для конкретного дизайна
Фреймворк Flutter содержит два набора виджетов, которые соответствуют определенным языкам дизайна: виджеты Material Design реализуют одноименный язык дизайна Google , а виджеты Cupertino реализуют рекомендации Apple по интерфейсу человека для iOS . [10] [15] [16] [17]
Виджеты
Flutter использует множество виджетов для создания полнофункционального приложения. Эти виджеты представляют собой архитектуру фреймворка Flutter. [18] Каталог виджетов Flutter предоставляет полное объяснение и API фреймворка.
Смотрите также
- Apache Cordova
- Appcelerator Titanium
- Codename One
- Фреймворк для веб-приложений для нескольких телефонов
- NativeScript
- React Native
- Xamarin
Рекомендации
- ^ Крис Брэкен. «Релиз v0.0.6: Rev alpha версия ветки до 0.0.6, flutter 0.0.26 (# 10010) · flutter / flutter» . GitHub . Проверено 8 августа 2018 .
- ^ «Релизы Flutter SDK» . Дата обращения 19 мая 2021 .
- ^ «FAQ - Flutter» . Проверено 8 августа 2018 .
- ^ «ОС смартфона Fuchsia от Google заменяет Linux, имеет новый безумный пользовательский интерфейс» . Ars Technica.
- ^ «Единая кодовая база Flutter для создания приложения вашей мечты для iOS и Android» . Concetto Labs.
- ^ «Небо: эксперимент по написанию дротиков для мобильных устройств (Саммит разработчиков Dart 2015)» .
- ^ Амадео, Рон (1 мая 2015 г.). «Язык Google Dart на Android предназначен для приложений без Java со скоростью 120 кадров в секунду» . Ars Technica.
- ^ «Flutter: первая платформа пользовательского интерфейса, разработанная для окружающих вычислений» . Блог Flutter . Проверено 11 декабря 2019 .
- ^ «Версия 2 инструментария Google Flutter добавляет поддержку настольных и веб-приложений» . TechCrunch . Проверено 6 марта 2021 .
- ^ а б в г «Технический обзор - Флаттер» . flutter.dev . Проверено 13 декабря 2017 .
- ^ «Canonical обеспечивает поддержку настольных приложений Linux с помощью Flutter» . Ubuntu . Проверено 9 июля 2020 .
- ^ Lelel, Wm (26 февраля 2018 г.). «Почему Флаттер использует дротик» . HackerNoon . Проверено 5 декабря 2018 .
- ^ stephenwzl (2018-08-01). «Паттерны компиляции флаттера» . ProAndroidDev . Проверено 6 декабря 2018 .
- ^ «Базовая библиотека - Dart API» . docs.flutter.dev . Проверено 13 декабря 2017 .
- ^ «Виджеты материального дизайна - Flutter» . flutter.dev . Проверено 13 декабря 2017 .
- ^ «Виджеты Купертино (в стиле iOS) - Flutter» . flutter.dev . Проверено 13 декабря 2017 .
- ^ «Рекомендации по человеческому интерфейсу» . developer.apple.com . Проверено 8 октября 2019 .
- ^ «Знакомство с виджетами» . flutter.dev . Проверено 8 октября 2020 .
Внешние ссылки
- Официальный веб-сайт
- Пример Hello World
- Изучите Flutter на FlutterCampus