Hiprup

What is the difference between Flutter SDK, Flutter Engine, and Dart VM?

Three distinct things candidates often conflate:

Flutter SDK — what you install via the flutter CLI. It's the umbrella that includes:

  • The Dart Framework source code (what you import 'package:flutter/...').

  • The Engine binaries (prebuilt per platform).

  • A bundled Dart SDK (compiler, VM, analyzer).

  • The flutter CLI itself.

Flutter Engine — the C++ engine: Skia/Impeller, text layout, gestures, platform channels. Shipped as prebuilt binaries. Lives in a separate repo (flutter/engine).

Dart VM — the runtime that executes Dart, embedded inside the Engine. JIT mode in debug (enables Hot Reload), AOT mode in profile/release (native ARM). Lives in dart-lang/sdk.

The trap: candidates conflate 'Flutter SDK' with 'Dart SDK'. The clean mental model: Flutter SDK is the umbrella that bundles (1) the Framework (Dart source you import), (2) the Engine (prebuilt C++ binaries), and (3) the Dart SDK (compiler + VM). Knowing they live in separate Git repos (flutter/flutter, flutter/engine, dart-lang/sdk) is the senior detail.

What is the difference between Flutter SDK, Flutter Engine, and Dart VM? | Hiprup