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 andAPIs, no download necessary.

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

Note: If you see an empty box instead of code, go to theDartPad troubleshooting page.

  1. void main() {
  2. print('Hello, World!');
  3. }

More information:

2. Install Dart

Once you’re ready to move beyond DartPad and develop real apps,you need the Dart SDK.

  • Windows
  • Linux
  • Mac

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

  1. C:\> choco install dart-sdk

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

  • Perform the following one-time setup:
  1. $ sudo apt-get update
  2. $ sudo apt-get install apt-transport-https
  3. $ sudo sh -c 'curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -'
  4. $ sudo sh -c 'curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list'
  • Install the Dart SDK:
  1. $ sudo apt-get update
  2. $ sudo apt-get install dart

With Homebrew, installing Dart is easy.

  1. $ brew tap dart-lang/dart
  2. $ brew install dart

Important: For more information, including how to adjust your PATH, see Get the Dart SDK.

3. Get more command-line developer tools

Install stagehand, which gives you templates for creating Dart apps:

  1. $ pub global activate stagehand

Note that although these instructions feature the command line,many IDEs support Dart development.Those IDEs use Stagehand behind the scenes when you create new Dart projects.

More information:

4. Create a small app

Create a command-line app:

  1. $ mkdir cli
  2. $ cd cli
  3. $ stagehand console-full

These commands create a small Dart app that has the following:

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

5. Get the app’s dependencies

Use the pub command to get the packagesthat the app depends on:

  1. $ pub get

6. Run the app

To run the app from the command line, use the Dart VM by running thedart command:

  1. $ dart bin/main.dart
  2. Hello world: 42!

If you wish run the app with debugging support, seeDevTools.

7. Modify the app

Let’s customize the app you just created.

  • Edit lib/cli.dart to calculate a different result. For example, divide theprevious value by two (for details about ~/, see Arithmetic operators):
  1. int calculate() {
  2. return 6 * 7 ~/ 2;
  3. }
  • Save your changes.

  • Rerun the main entrypoint of your app:

  1. $ dart bin/main.dart
  2. Hello world: 21!

More information:Write command-line apps

8. Compile for production

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

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

  1. $ dart2native bin/main.dart -o bin/my_app

Notice how the compiled program starts instantly, completing quickly:

  1. $ time bin/my_app
  2. Hello world: 21!
  3. real 0m0.016s
  4. user 0m0.008s
  5. sys 0m0.006s

What next?

Check out these resources:

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