Jump to content

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

трепетать
Оригинальный автор(ы) Google
Разработчик(и) Google и сообщество
Первоначальный выпуск Альфа (v0.0.6) / 12 мая 2017 г .; 7 лет назад ( 12.05.2017 ) [1]
Стабильная версия
3.22.0 [2]  Отредактируйте это в Викиданных / 14 мая 2024 г .; 32 дня назад ( 14 мая 2024 г. )
Репозиторий
Написано в С , С++ , Дарт [3]
Платформа Android , iOS , Google Fuchsia , веб-платформа , Linux , macOS и Windows
Тип Платформа приложения
Лицензия Новая лицензия BSD
Веб-сайт порхать .dev

Flutter — это с открытым исходным кодом, пользовательского интерфейса пакет разработки программного обеспечения созданный Google . Его можно использовать для разработки кроссплатформенных приложений из единой базы кода для Интернета . [4] Фуксия , Android , iOS , Linux , macOS и Windows . [5] Впервые описан в 2015 году. [6] [7] Flutter был выпущен в мае 2017 года. Flutter используется внутри компании Google в таких приложениях, как Google Pay. [8] и Google Планета Земля [9] а также другие разработчики программного обеспечения, включая ByteDance [10] и Алибаба . [11]

Flutter состоит как из языка пользовательского интерфейса, так и из механизма рендеринга . Когда приложение Flutter скомпилировано , оно поставляется как с кодом пользовательского интерфейса, так и с механизмом рендеринга, размер которого сжат около 4 МБ . [12] Это отличается от многих других инфраструктур пользовательского интерфейса , которые используют отдельный механизм рендеринга и передают только код пользовательского интерфейса, например, собственные приложения Android на уровне устройства , которые полагаются на Android SDK , или HTML / JavaScript веб-приложения пользователя. , которые полагаются на движок HTML и движок JavaScript . [13] [14] Полный контроль Flutter над своим конвейером рендеринга упрощает поддержку нескольких платформ, поскольку платформа нужна только для поддержки запуска собственного кода, например, через собственный интерфейс Android Java, а не для полной поддержки модели пользовательского интерфейса Flutter.

История [ править ]

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

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

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

8 сентября 2021 года были выпущены Dart 2.14 и Flutter 2.5 с последней версией Material Design под названием Material You. [21] [22]

12 мая 2022 года были выпущены Flutter 3 и Dart 2.17 с поддержкой всех настольных платформ как стабильные. [23]

Виджеты [ править ]

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

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

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

Каркасная архитектура [ править ]

Язык дартса [ править ]

Приложения Flutter написаны на языке Dart . Релизные версии приложений Flutter на всех платформах используют упреждающую компиляцию (AOT). [26] за исключением Интернета, где код переносится в JavaScript [27] или веб-сборка. [28]

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

Flutter-движок [ править ]

Flutter поддерживает два различных серверных модуля движка рендеринга: графическую библиотеку Google Skia и собственный движок Flutter под названием Impeller. [30] Импеллер включен по умолчанию на iOS и в настоящее время находится в стадии бета-тестирования на Android. [31] Движок взаимодействует с для конкретной платформы, SDK например, предоставляемыми Android и iOS, для реализации таких функций, как специальные возможности, файловый и сетевой ввод-вывод, поддержка встроенных плагинов и т. д. [32]

Библиотека Фонда [ править ]

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

Виджеты, специфичные для дизайна [ править ]

Платформа Flutter содержит два набора виджетов , которые соответствуют определенным языкам дизайна: виджеты Material Design Google язык дизайна реализуют одноименный , а виджеты Cupertino Apple по пользовательскому интерфейсу iOS реализуют рекомендации . [32] [34] [35] [36] Flutter позволяет разработчику использовать любой набор виджетов на любой платформе. Разработчики могут использовать виджеты Купертино на Android. Сторонние пакеты можно использовать для автоматической настройки дизайна приложения в соответствии с текущей операционной системой. [37]

См. также [ править ]

Ссылки [ править ]

  1. ^ Крис Брекен. «Выпуск v0.0.6: версия альфа-ветви версии 0.0.6, флаттер 0.0.26 (#10010) · флаттер/флаттер» . Гитхаб . Архивировано из оригинала 05 февраля 2019 г. Проверено 8 августа 2018 г.
  2. ^ https://github.com/flutter/flutter/releases/tag/3.22.0 . {{cite web}}: Отсутствует или пусто |title= ( помощь )
  3. ^ «Часто задаваемые вопросы — Флаттер» . Архивировано из оригинала 23 февраля 2019 г. Проверено 8 августа 2018 г.
  4. ^ Амадео, Рон (27 февраля 2018 г.). «Google начинает разработку кроссплатформенных приложений с помощью Flutter SDK» . Арс Техника . Архивировано из оригинала 08 октября 2021 г. Проверено 11 июня 2021 г.
  5. ^ Амадео, Рон (8 мая 2017 г.). «Основная система для смартфонов Google «Fuchsia» отказалась от Linux и имеет совершенно новый пользовательский интерфейс» . Арс Техника. Архивировано из оригинала 26 сентября 2019 года . Проверено 18 марта 2018 г.
  6. ^ «Благодаря Flutter Google направляет Dart на перекрестную разработку мобильных приложений» . ИнфоQ . Архивировано из оригинала 28 апреля 2022 г. Проверено 17 марта 2022 г.
  7. ^ «Google анонсирует Flutter 1.0, первую стабильную версию своего кроссплатформенного инструментария для разработки мобильных приложений» . Андроид Полиция . 05.12.2018. Архивировано из оригинала 25 мая 2022 г. Проверено 17 марта 2022 г.
  8. ^ «Выход на глобальный уровень в Google Pay с Flutter» . Архивировано из оригинала 31 марта 2024 г. Проверено 2 апреля 2024 г.
  9. ^ «Оцените новый @googleearth для iOS, Android и Интернета с пользовательским интерфейсом, созданным с использованием Flutter, и все это на основе единой базы кода» . Архивировано из оригинала 02 апреля 2024 г. Проверено 2 апреля 2024 г.
  10. ^ «Увеличение производительности на 33% в ByteDance с Flutter» . Архивировано из оригинала 02 апреля 2024 г. Проверено 2 апреля 2024 г.
  11. ^ «Alibaba масштабирует крупнейший в Китае рынок подержанных товаров с помощью Flutter» . Архивировано из оригинала 30 марта 2024 г. Проверено 2 апреля 2024 г.
  12. ^ «Насколько велик двигатель Flutter?» . Архивировано из оригинала 3 мая 2024 г. Проверено 4 апреля 2024 г.
  13. ^ «Что делает Flutter уникальным?» . Архивировано из оригинала 02 апреля 2024 г. Проверено 2 апреля 2024 г.
  14. ^ «Исследование механизма рендеринга Flutter от архитектуры до исходного кода» . Архивировано из оригинала 02 апреля 2024 г. Проверено 2 апреля 2024 г.
  15. ^ Кулински, Свав (07 декабря 2018 г.). «Флаттер — нет предела возможностям» . Род + Карта создана . Архивировано из оригинала 20 июня 2023 г. Проверено 20 июня 2023 г.
  16. ^ «Sky: эксперимент по написанию Dart для мобильных устройств (саммит разработчиков Dart 2015)» . Ютуб . Архивировано из оригинала 14 июня 2020 г. Проверено 12 июня 2020 г.
  17. ^ Амадео, Рон (1 мая 2015 г.). «Язык Google Dart для Android нацелен на создание приложений без Java со скоростью 120 кадров в секунду» . Арс Техника . Архивировано из оригинала 6 мая 2015 года . Проверено 13 декабря 2017 г.
  18. ^ «Flutter: первая платформа пользовательского интерфейса, предназначенная для вычислений в окружающей среде» . Флаттер-блог. Архивировано из оригинала 11 декабря 2019 г. Проверено 11 декабря 2019 г.
  19. ^ «Версия 2 набора инструментов Google Flutter добавляет поддержку настольных и веб-приложений» . ТехКранч . Проверено 06 марта 2021 г. [ постоянная мертвая ссылка ]
  20. ^ «Миграция на нулевую безопасность» . dart.dev . Проверено 4 февраля 2022 г. [ постоянная мертвая ссылка ]
  21. ^ Селлс, Крис (08 сентября 2021 г.). «Что нового во Flutter 2.5» . Трепетать . Архивировано из оригинала 4 февраля 2022 г. Проверено 4 февраля 2022 г.
  22. ^ «Примечания к выпуску Flutter 2.5.0» . docs.flutter.dev . Архивировано из оригинала 4 февраля 2022 г. Проверено 4 февраля 2022 г.
  23. ^ «Примечания к выпуску Flutter 3» . docs.flutter.dev . Архивировано из оригинала 3 сентября 2022 г. Проверено 9 августа 2022 г.
  24. ^ «Знакомство с виджетами» . docs.flutter.dev . Архивировано из оригинала 06 октября 2022 г. Проверено 06 октября 2022 г.
  25. ^ "Пламя" . сайт Flame-Engine.org . Архивировано из оригинала 27 сентября 2022 г. Проверено 06 октября 2022 г.
  26. ^ Стивенвзл (01 августа 2018 г.). «Шаблоны компиляции Flutter» . ПроАндроидДев . Архивировано из оригинала 9 июня 2020 г. Проверено 6 декабря 2018 г.
  27. ^ «Создание веб-приложения с помощью Flutter» . docs.flutter.dev . Архивировано из оригинала 5 октября 2022 г. Проверено 06 октября 2022 г.
  28. ^ Томсен, Майкл (14 мая 2024 г.). «Посадка Flutter 3.22 и Dart 3.4 на Google I/O 2024» . Трепетать . Проверено 17 мая 2024 г.
  29. ^ «Использование пакетов» . docs.flutter.dev . Архивировано из оригинала 06 октября 2022 г. Проверено 06 октября 2022 г.
  30. ^ Снит, Тим (30 августа 2022 г.). «Анонс Flutter 3.3 на Flutter Vikings» . Трепетать . Архивировано из оригинала 06 октября 2022 г. Проверено 06 октября 2022 г.
  31. ^ «Движок рендеринга крыльчатки» . docs.flutter.dev . Проверено 17 мая 2024 г.
  32. ^ Jump up to: Перейти обратно: а б с «Технический обзор — Флаттер» . флаттер.dev . Архивировано из оригинала 16 июня 2020 г. Проверено 13 декабря 2017 г.
  33. ^ «основная библиотека — Dart API» . docs.flutter.dev . Архивировано из оригинала 16 июня 2020 г. Проверено 13 декабря 2017 г.
  34. ^ «Виджеты Material Design — Flutter» . флаттер.dev . Архивировано из оригинала 16 июня 2020 г. Проверено 13 декабря 2017 г.
  35. ^ «Виджеты Купертино (в стиле iOS) — Flutter» . флаттер.dev . Архивировано из оригинала 16 июня 2020 г. Проверено 13 декабря 2017 г.
  36. ^ «Руководство по человеческому интерфейсу» . разработчик.apple.com . Архивировано из оригинала 28 ноября 2020 г. Проверено 8 октября 2019 г.
  37. ^ «flutter_platform_widgets | Пакет Flutter» . Дартс-пакеты . Архивировано из оригинала 14 января 2023 г. Проверено 14 января 2023 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d1b683d0ee83726ec03574bb4c831c9d__1717512180
URL1:https://arc.ask3.ru/arc/aa/d1/9d/d1b683d0ee83726ec03574bb4c831c9d.html
Заголовок, (Title) документа по адресу, URL1:
Flutter (software) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)