Flutter CoreIntermediate30 XP4 min read
What is the role of the Flutter Engine?
TL;DR: The Flutter Engine (written in C++) provides the Dart runtime, Skia/Impeller rendering pipeline, file I/O, network, plugin system, and the platform embedder API — sitting between the Dart framework and the native OS.
Full Answer
The Flutter architecture has three layers: Framework (Dart), Engine (C++), and Embedder (platform-specific). The Engine is the core runtime that:
- ▸Hosts the Dart VM (JIT in debug, runs precompiled AOT in release)
- ▸Drives Skia/Impeller for rendering
- ▸Handles text layout, accessibility, plugins (platform channels)
- ▸Provides a platform embedder API — used by FlutterActivity (Android), FlutterViewController (iOS), and custom embedders for desktop/embedded
💡
The Flutter Engine is what enables Flutter to run on any platform — any OS can implement the embedder API to get a Flutter surface. This is how Flutter runs on cars (Toyota), TVs, and IoT devices.
Interview Tip
💡
The separation of Engine from Embedder is why Flutter is truly portable. The Engine doesn't know what platform it's running on — the Embedder provides that context.
#flutter-engine#skia#dart-vm#rendering#embedder