stringtranslate.com

Флаттер (программное обеспечение)

Flutter — это пакет разработки программного обеспечения пользовательского интерфейса с открытым исходным кодом, созданный Google . Он используется для разработки кроссплатформенных приложений на основе единой базы кода для любого веб- браузера , [4] Fuchsia , Android , iOS , Linux , macOS и Windows . [5] Впервые описано в 2015 году, [6] [7] Flutter был выпущен в мае 2017 года. [1]

История

Первая версия Flutter была известна как «Sky» [8] и работала на операционной системе Android . Он был представлен на саммите разработчиков Dart в 2015 году [9] с заявленным намерением обеспечить возможность стабильного рендеринга со скоростью 120 кадров в секунду . [10] Во время выступления на Днях разработчиков Google в Шанхае в сентябре 2018 года Google анонсировала Flutter Release Preview 2, последний крупный релиз перед Flutter 1.0. 4 декабря 2018 года на мероприятии Flutter Live был представлен Flutter 1.0, что означает первую стабильную версию фреймворка. 11 декабря 2019 года Flutter 1.12 был представлен на мероприятии Flutter Interactive. [11]

6 мая 2020 года были выпущены комплект разработки программного обеспечения Dart ( SDK ) версии 2.8 и Flutter 1.17.0, в которых добавлена ​​поддержка Metal API , которая повышает производительность на устройствах iOS примерно на 50 %, а также новые виджеты Material и отслеживание сети. Инструменты разработки.

3 марта 2021 года Google выпустила Flutter 2 во время онлайн-мероприятия Flutter Engage. Это крупное обновление обеспечило официальную поддержку веб-приложений с новым средством рендеринга Canvas Kit и веб-виджетами, поддержку настольных приложений раннего доступа для Windows , macOS и Linux , а также улучшенные API -интерфейсы добавления в приложение . [12] В этом выпуске также использовался Dart 2.0 с нулевой безопасностью , что вызвало множество критических изменений и проблем со многими внешними пакетами; однако команда Flutter включила инструкции и инструменты для решения этих проблем. [13]

8 сентября 2021 года Google выпустила Dart 2.14 и Flutter 2.5. Обновление привнесло улучшения в полноэкранный режим Android и последнюю версию Material Design от Google под названием Material You. Dart получил два новых обновления, стандартизирующих условия ворса и отмечающих поддержку Apple Silicon как стабильную. [14] [15]

12 мая 2022 года Google объявила о выпуске Flutter 3 и Dart 2.17. Это обновление увеличило общее количество поддерживаемых платформ до шести, включая стабильную поддержку Linux и macOS на процессорах Intel и Apple Silicon. [16]

30 августа 2022 года был анонсирован Flutter 3.3. В этом выпуске реализовано взаимодействие Objective-C и Swift , а также ранняя предварительная версия нового движка рендеринга под названием «Impeller», целью которого является уменьшение заиканий, вызванных компиляцией шейдеров . [17]

25 января 2023 года был анонсирован Flutter 3.7.

Каркасная архитектура

Основные компоненты Flutter включают в себя:

Дартс язык

Приложения Flutter написаны на языке Dart и используют многие более продвинутые функции языка. [18]

Для повышения производительности выпускные версии приложений Flutter на всех платформах используют упреждающую компиляцию (AOT) , [19] за исключением Интернета, где код транслируется в JavaScript . [20]

Flutter наследует менеджер пакетов и репозиторий программного обеспечения Dart Pub , который позволяет пользователям публиковать и использовать собственные пакеты, а также плагины, специфичные для Flutter. [21]

Флаттер двигатель

Движок Flutter, написанный в основном на C++ , обеспечивает поддержку низкоуровневого рендеринга с использованием либо графической библиотеки Skia от Google , либо пользовательского графического слоя «Impeller». [17] Кроме того, он взаимодействует с SDK для конкретной платформы , например, предоставляемыми Android и iOS , для реализации специальных возможностей, файлового и сетевого ввода-вывода, встроенной поддержки плагинов и многого другого. [18]

Библиотека Фонда

Библиотека Foundation, написанная на Dart , предоставляет базовые классы и функции, которые используются для создания приложений с использованием Flutter, например API-интерфейсы для взаимодействия с движком. [18] [22]

Виджеты, ориентированные на дизайн

Платформа Flutter содержит два набора виджетов, которые соответствуют определенным языкам дизайна: виджеты Material Design реализуют одноименный язык дизайна Google , а виджеты Cupertino реализуют рекомендации Apple по пользовательскому интерфейсу iOS . [18] [23] [24] [25] Flutter позволяет разработчику использовать любой набор виджетов на любой платформе, то есть даже виджеты Купертино на Android. Сторонние пакеты можно использовать для автоматической настройки дизайна приложения в соответствии с текущей операционной системой. [26]

поддержка IDE

Flutter поддерживает официальную поддержку следующих IDE и редакторов через плагины:

Другие IDE можно использовать с плагинами, поддерживаемыми сообществом, или с помощью инструментов Flutter из командной строки. [10] На рынке появилось несколько инструментов, которые начали использовать официальную среду Flutter IDE Framework и предлагают настраиваемые конструкторы графического пользовательского интерфейса .

Виджеты

Базовым компонентом программы Flutter является «виджет», который, в свою очередь, может состоять из других виджетов. Виджет описывает логику, взаимодействие и дизайн элемента пользовательского интерфейса с реализацией, аналогичной React . В отличие от других кроссплатформенных наборов инструментов, таких как React Native и Xamarin , которые рисуют виджеты с использованием собственных компонентов платформы, Flutter сам визуализирует виджеты на попиксельной основе.

Существует два основных типа виджетов: без сохранения состояния и с сохранением состояния . Виджеты без сохранения состояния обновляются только в том случае, если их входные данные изменяются, что делает их очень эффективными, в то время как виджеты с сохранением состояния могут вызывать setState()метод для обновления внутреннего состояния и перерисовки. [27]

Хотя виджеты являются основным методом создания приложений Flutter, их также можно обойти и использовать непосредственное рисование на холсте. Эта функция иногда использовалась для реализации игровых движков во Flutter. [28]

Государственное управление

Смотрите также

Рекомендации

  1. ^ AB Крис Бракен. «Выпуск v0.0.6: версия альфа-ветви версии 0.0.6, флаттер 0.0.26 (#10010) · флаттер/флаттер». Гитхаб . Проверено 8 августа 2018 г.
  2. ^ Ошибка: невозможно правильно отобразить ссылку. Подробности смотрите в документации .
  3. ^ "Часто задаваемые вопросы - Флаттер" . Проверено 8 августа 2018 г.
  4. ^ Амадео, Рон (27 февраля 2018 г.). «Google начинает разработку кроссплатформенных приложений с помощью Flutter SDK». Арс Техника . Проверено 11 июня 2021 г.
  5. Амадео, Рон (8 мая 2017 г.). «Основная система для смартфонов Google «Fuchsia» отказалась от Linux и имеет совершенно новый пользовательский интерфейс». Арс Техника . Проверено 18 марта 2018 г.
  6. ^ «С Flutter Google нацелен на перекрестную разработку мобильных приложений» . ИнфоQ . Проверено 17 марта 2022 г.
  7. ^ «Google анонсирует Flutter 1.0, первую стабильную версию своего кроссплатформенного набора инструментов для разработки мобильных устройств» . Андроид Полиция . 05.12.2018 . Проверено 17 марта 2022 г.
  8. ^ Кулински, Свав (07.12.2018). «Флаттер — нет предела возможностям». Род + Карта создана . Проверено 20 июня 2023 г.
  9. ^ «Небо: эксперимент по написанию Dart для мобильных устройств (Саммит разработчиков Dart 2015)» . YouTube .
  10. ^ аб Амадео, Рон (1 мая 2015 г.). «Язык Google Dart для Android нацелен на создание приложений без Java со скоростью 120 кадров в секунду». Арс Технический.
  11. ^ «Flutter: первая платформа пользовательского интерфейса, разработанная для вычислений в окружающей среде» . Флаттер-блог . Проверено 11 декабря 2019 г.
  12. ^ «Версия 2 набора инструментов Google Flutter добавляет поддержку настольных и веб-приложений» . ТехКранч . Проверено 06 марта 2021 г.
  13. ^ «Переход на нулевую безопасность» . dart.dev . Проверено 4 февраля 2022 г.
  14. ^ Селлс, Крис (08 сентября 2021 г.). «Что нового во Flutter 2.5». Трепетать . Проверено 4 февраля 2022 г.
  15. ^ «Примечания к выпуску Flutter 2.5.0» . docs.flutter.dev . Проверено 4 февраля 2022 г.
  16. ^ «Примечания к выпуску Flutter 3» . docs.flutter.dev . Проверено 9 августа 2022 г.
  17. ^ Аб Снит, Тим (30 августа 2022 г.). «Анонс Flutter 3.3 на Flutter Vikings». Трепетать . Проверено 06 октября 2022 г.
  18. ^ abcd «Технический обзор — Флаттер». флаттер.dev . Проверено 13 декабря 2017 г.
  19. ^ Стивенвзл (01 августа 2018 г.). «Шаблоны компиляции Flutter». ПроАндроидДев . Проверено 6 декабря 2018 г.
  20. ^ «Создание веб-приложения с помощью Flutter». docs.flutter.dev . Проверено 06 октября 2022 г.
  21. ^ «Использование пакетов». docs.flutter.dev . Проверено 06 октября 2022 г.
  22. ^ «Основная библиотека — Dart API» . docs.flutter.dev . Проверено 13 декабря 2017 г.
  23. ^ «Виджеты Material Design — Flutter» . флаттер.dev . Проверено 13 декабря 2017 г.
  24. ^ «Виджеты Купертино (в стиле iOS) — Flutter» . флаттер.dev . Проверено 13 декабря 2017 г.
  25. ^ «Руководство по человеческому интерфейсу». разработчик.apple.com . Проверено 8 октября 2019 г.
  26. ^ "flutter_platform_widgets | Пакет Flutter" . Дартс-пакеты . Проверено 14 января 2023 г.
  27. ^ «Знакомство с виджетами». docs.flutter.dev . Проверено 06 октября 2022 г.
  28. ^ «Пламя». сайт Flame-Engine.org . Проверено 06 октября 2022 г.

Внешние ссылки