Slide 42
Slide 42 text
Flutter I/O Extended Korea 2022
2. What’s Flutter Desktop
●
On iOS and macOS, Flutter is loaded into the embedder as a UIViewController or NSViewController,
respectively. The platform embedder creates a FlutterEngine, which serves as a host to the Dart VM and your Flutter
runtime, and a FlutterViewController, which attaches to the FlutterEngine to pass UIKit or Cocoa input events into Flutter and to
display frames rendered by the FlutterEngine using
Metal or OpenGL.
● On Android, Flutter is, by default, loaded into the embedder as an Activity. The view is controlled by a FlutterView, which
renders Flutter content either as a view or a texture, depending on the composition and z-ordering requirements of the
Flutter content.
●
On Windows, Flutter is hosted in a traditional Win32 app, and content is
rendered using
ANGLE, a library that translates
OpenGL API calls to the DirectX 11
equivalents.
Efforts are currently underway to also offer a Windows embedder using the UWP app model, as well as to replace ANGLE
with a more
direct path to the GPU via DirectX 12.