
Dart development tools
DartPad is a perfect way to start experimenting with the language without any extra effort. Since you will soon want to learn advanced things such as writing on files or using custom libraries, you'll need to have a development environment configured for that.
The most common IDEs used for Dart and Flutter development are Visual Studio Code or VS Code (for the web and Flutter) and Android Studio or any JetBrains IDE such as WebStorm (which is web-focused). All of the Dart functionalities of these IDEs are based on official tools, so it doesn't matter what you choose—the provided tools will be mostly the same. The Dart SDK provides specialized tools for each development ecosystem, such as web and server-side programming.
The standalone Dart SDK ships with the following tools:
- dart (https://dart.dev/tools/dart-vm): This is the standalone Dart VM; this executes Dart code. To execute a Dart script, run the following command:
dart code.dart
- dart2js (https://dart.dev/tools/dart2js): This is the original Dart-to-JavaScript compiler.
- dartanalyzer (https://github.com/dart-lang/sdk/tree/master/pkg/analyzer_cli#dartanalyzer): This statically analyzes code (as a typical linter), helping to catch errors early.
- dartdoc (https://github.com/dart-lang/dartdoc#dartdoc): This generates the API reference documentation.
- pub (https://dart.dev/tools/pub/cmd): This is a package manager. It is a tool that can be used for the management of libraries and packages.
- dartfmt (https://github.com/dart-lang/dart_style#readme): This applies style guidelines to Dart code.
For web development, Dart adds some tools (with additional installations steps at https://dart.dev/tools):
- webdev (https://dart.dev/tools/webdev) and build_runner (https://dart.dev/tools/webdev): Both of these tools are used for building and serving web apps, with build_runner being used in testing or when more configuration is required than webdev provides.
- dartdevc (https://dart.dev/tools/dartdevc): This is powered for dev Dart-to-JavaScript compiler-like integration with Chrome tools.
All of the IDE plugins use these tools behind the scenes, so you can take advantage of the full toolset for Dart development.