Что знаешь о том, как работает Flutter "под капотом"

Уровень фреймворка — всё, с чем мы работаем в момент написания приложения, и все служебные классы, позволяющие взаимодействовать написанному нами с уровнем движка. Всё относящееся к данному уровню написано на Dart. Flutter Framework взаимодействует с Flutter Engine через слой абстракции, называемый Window

Уровень движка — более низкий уровень, чем уровень фреймворка, содержит классы и библиотеки, позволяющие работать уровню фреймворка. В том числе виртуальная машина DartSkia и т. д.

Уровень платформы — специфичные механизмы, относящиеся к конкретной платформе запуска.

Flutter Engine уведомляет Flutter Framework, когда:

  • Событие, представляющее интерес, происходит на уровне устройства (изменение ориентации, изменение настроек, проблема с памятью, состояние работы приложения…)
  • Какое-то событие происходит на уровне стекла (жест)
  • Канал платформы отправляет некоторые данные
  • Но также и в основном, когда Flutter Engine готов к рендерингу нового кадра

Oct. 13, 2023, Источник