Interview frequency: …
Short answer
The framework provides the APIs and widgets in Dart, the engine renders and runs the runtime, and the embedder connects Flutter to the operating system and platform.
Explanation
Separating the layers shows where a problem is: app code and widgets are in the framework, rasterization and the Dart runtime in the engine, and the app window, lifecycle, and platform input in the embedder. You do not need to memorize every detail, but it is important to know that Flutter is not just a widget library.
Common mistakes
- Reducing Flutter to the rendering engine only.
- Treating the platform embedder as part of the widget code itself.