Tools

When you’re ready to create an app,get the SDK and tools for your app type.

App typeGet started instructionsTool information
MobileInstall FlutterFlutter tools
WebInstall the Dart SDKGeneral-purpose tools and web tools
Server or command lineInstall the Dart SDKGeneral-purpose tools and specialized tools

General-purpose tools

The following tools support the Dart language on all platforms.

DartPad

DartPad Hello WorldDartPad isa great, no-download-required way to learn Dart syntaxand to experiment with Dart language features.It supports Dart’s core libraries,except for VM libraries such as dart:io.

IDEs and editors

Dart plugins exist for these commonly used IDEs.

The following Dart plugins are also available,thanks to the Dart community.

A Language Server Protocol implementation is also available forLSP-capable editors that don’t have specific Dart extensions.

Command-line tools

The Dart SDK includes the following general-purpose tools:

  • dartanalyzer
  • A static analyzer that evaluates and reports any errors or warnings in your code.The Dart plugin for your IDE should make use of Dart’s analysis engine,but you can also run the analyzer from the command line.
  • dartdoc
  • A documentation generator.For examples of dartdoc’s output, see the API reference documentationpublished at api.dart.dev and pub.dev(for example, the path API reference).
  • dartfmt
  • An opinionated code formatter that follows the recommendations of theDart style guide.IDEs that support Dart generally allow you to format the code withinthe IDE. Or you can run the formatter from the command line.
  • pub
  • A package manager thatmakes it easy for you to install, use, and share Dart libraries,command-line tools, and other assets.Some Dart technologies, such as Flutter, may not supportall of the pub commands.IDEs that support Dart generally have special support for pub,but you can also use it from the command line.

Some additional tools are available in packages.To install these tools, use the pub command, as described in each tool’sinstallation instructions.Here are the general-purpose tools you might want to install:

  • build_runner
  • A build package that’s used behind-the-scenes by the webdev command.
  • dartfix
  • A tool for migrating Dart source code and fixing common issues.

Debugging and diagnostics

  • Dart DevTools
  • A suite of suite of debugging and performance tools.

Tools for developing web apps

The following tools support developing web apps:

  • dart2js
  • The original Dart-to-JavaScript compiler, with tree shaking.IDEs and the webdev CLI use dart2js when building web apps for deployment.
  • dartdevc
  • The Dart dev compiler, a modular Dart-to-JavaScript compiler.IDEs and the webdev CLI use dartdevc when running a development server.
  • webdev
  • A command-line interface (CLI) for Dart web app development,including building and serving web apps.

Tools for developing command-line apps and servers

The following tools support developing or runningcommand-line apps and servers:

  • dart
  • The standalone Dart VM, which you can use to execute Dart code.IDEs that support Dart,and some of the pub commands, use thiscommand behind-the-scenes to execute Dart scripts.Note that you must configure your IDE with the location ofthe dart binary.
  • dart2native
  • An ahead-of-time (AOT) compiler that compilesDart code to native x64 machine code.The output is either a standalone executable (the default)or an AOT snapshot.
  • dartaotruntime
  • A Dart runtime that you can use to run AOT snapshots.