Get started: Command-line and server apps

Follow these steps to start using the Dart SDK to develop command-line and server apps. First you'll play with the Dart language in your browser, no download required. Then you'll install the Dart SDK, write a small program, and run that program using the Dart VM. Finally, you'll use an AOT (ahead of time) compiler to compile your finished program to native machine code, which you'll execute using the Dart runtime.

1. Play with Dart code in DartPad


With DartPad you can experiment with the Dart language and APIs, no download necessary.

For example, here's an embedded DartPad that lets you play with the code for a small Hello World program. Click Run to run the app; output appears in the console view. Try editing the source code—perhaps you'd like to change the greeting to use another language.

void main() {
  print('Hello, World!');

More information:

2. Install Dart


To develop real apps, you need an SDK. You can either download the Dart SDK directly (as described below) or download the Flutter SDK, which includes the full Dart SDK.

Use Chocolatey to install a stable release of the Dart SDK.

To install the Dart SDK:

C:\> choco install dart-sdk

You can use APT to install the Dart SDK on Linux.

  1. Perform the following one-time setup:

    $ sudo apt-get update
    $ sudo apt-get install apt-transport-https
    $ wget -qO- | sudo gpg --dearmor -o /usr/share/keyrings/dart.gpg
    $ echo 'deb [signed-by=/usr/share/keyrings/dart.gpg arch=amd64] stable main' | sudo tee /etc/apt/sources.list.d/dart_stable.list
  2. Install the Dart SDK:

    $ sudo apt-get update
    $ sudo apt-get install dart

With Homebrew, installing Dart is easy.

$ brew tap dart-lang/dart
$ brew install dart

3. Create a small app


Use the dart create command and the console template to create a command-line app:

$ dart create -t console cli

This command creates a small Dart app that has the following:

  • A main Dart source file, bin/cli.dart, that contains a top-level main() function. This is the entrypoint for your app.
  • An additional Dart file, lib/cli.dart, that contains the functionality of the app and is imported by the cli.dart file.
  • A pubspec file, pubspec.yaml, that contains the app's metadata, including information about which packages the app depends on and which versions of those packages are required.

4. Run the app


To run the app from the command line, use the Dart VM by running the dart run command in the app's top directory:

$ cd cli
$ dart run
Hello world: 42!

If you want to run the app with debugging support, see Dart DevTools.

5. Modify the app


Let's customize the app you just created.

  1. Edit lib/cli.dart to calculate a different result. For example, divide the previous value by two (for details about ~/, see Arithmetic operators):

    int calculate() {
      return 6 * 7 ~/ 2;
  2. Save your changes.

  3. Rerun the main entrypoint of your app:

    $ dart run
    Hello world: 21!

More information: Write command-line apps

6. Compile for production


The steps above used the Dart VM (dart) to run the app. The Dart VM is optimized for fast, incremental compilation to provide instant feedback during development. Now that your small app is done, it's time to AOT compile your Dart code to optimized native machine code.

Use the dart compile tool to AOT compile the program to machine code:

$ dart compile exe bin/cli.dart

Notice how the compiled program starts instantly, completing quickly:

$ time bin/cli.exe
Hello world: 21!

real	0m0.016s
user	0m0.008s
sys	0m0.006s

What next?


Check out these resources:

If you get stuck, find help at Community and support.