sdk
The Dart SDK, including the VM, JS and Wasm compilers, analysis, core libraries, and more.
The official SDK for the Dart programming language, which powers Flutter apps and can compile to native code, JavaScript, or WebAssembly for mobile, desktop, server, and web targets.
This is the official repository for the Dart SDK, the complete set of tools needed to develop and run programs written in the Dart programming language. Dart is a programming language created by Google, most widely known as the language that powers Flutter, a framework for building apps that run on Android, iOS, desktop, and the web from a single codebase.
Dart is a statically typed language, meaning it checks for type errors before your code runs. It includes modern features like null safety, which helps prevent a common category of programming bugs where a variable is used before it has been assigned a value. The README describes the language as approachable and concise while supporting a wide range of compilation targets.
One of Dart's notable features is flexibility in how code is compiled. For mobile, desktop, and server targets, it can run programs using a virtual machine with just-in-time compilation during development, then produce native machine code with ahead-of-time compilation for production. For the web, it compiles to JavaScript or WebAssembly. This is the reason a Flutter app can run as a native app on a phone and also in a web browser.
Development with Dart includes a hot reload feature that shows code changes immediately in a running app without a full restart. A DevTools suite is also available for debugging and diagnosing performance issues.
The SDK is free and open source. The Dart package ecosystem is hosted at pub.dev, and the language documentation is at dart.dev. Future plans for the language are tracked in a shared roadmap with Flutter.
Where it fits
- Build a Flutter app in Dart that runs on iOS, Android, desktop, and the web from a single codebase.
- Write a command-line tool in Dart that compiles to a fast native binary with no runtime required.
- Deploy a server-side Dart app that uses AOT compilation for production performance.