Skip to content
On this page

The flutter run variants

We aspire to reach a state where flutter run has the following modes:

  • flutter run: builds a debug version of the app and starts it in "hot reload" mode, then shows the console UI to manipulate the running instance.
  • flutter run --no-hot: builds a debug version of the app and starts it directly, then shows the console UI to manipulate the running instance.
  • flutter run --profile: builds a profile version of the app and starts it directly, then shows the console UI to manipulate the running instance.
  • flutter run --release: builds a release version of the app and starts it directly, then shows the console UI to manipulate the running instance.

Adding --machine in any of the situations above spawns a flutter daemon which:

  • changes the output to JSON so that it can be more easily consumed by IDEs, and
  • allows the use of JSON commands to interact with the running application (e.g. stopping the application).

All of the commands above launch a Flutter application and do not return until that Flutter application exits. Adding --no-resident in any of the situations causes the command to return immediately after the application has been launched rather than waiting until the application exits.

The flutter run variants has loaded