--- layout: homepage title: Dart programming language description: >- Dart is an approachable, portable, and productive language for high-quality apps on any platform. ---
An approachable, portable, and productive language for high-quality apps on any platform

Dart is free and open source

Approachable
Develop with a consistent, concise, and strongly typed programming language that offers modern features like null safety and pattern matching.
Productivedevelopment
Make changes iteratively: use hot reload to see the result instantly in your running app.
Portable and fast
on all platforms
Compile to ARM, x64, and RISC-V machine code for mobile, desktop, and backend. Or, compile to JavaScript & WebAssembly for the web.
Approachable

- Mature and complete async-await for user interfaces containing event-driven code, paired with isolate-based concurrency
- Write safe and concise code using features like sound null safety, collection if, and pattern matching.
- A consistent programming language, with an easy to learn and familiar syntax.

Productive Development

- Make changes to your source code iteratively, using hot reload to instantly see the effect in the running app.
- Write code using a flexible type system with rich static analysis and powerful, configurable tooling.
- Do profiling, logging, and debugging with your code editor of choice.

Fast on all platforms

- AOT-compile apps to native machine code for instant startup.
- Target the web with complete, mature, fast compilers for JavaScript & WebAssembly.
- Run backend code supporting your app, written using a single programming language.

Approachable

- Mature and complete async-await for user interfaces containing event-driven code, paired with isolate-based concurrency.
- Write safe and concise code using features like sound null safety, collection if, and pattern matching.
- A consistent programming language, with an easy to learn and familiar syntax.

Productive development

- Make changes to your source code iteratively, using hot reload to instantly see the effect in the running app.
- Write code using a flexible type system with rich static analysis and powerful, configurable tooling.
- Do profiling, logging, and debugging with your code editor of choice.

Fast on all platforms

- AOT-compile apps to native machine code for instant startup.
- Target the web with complete, mature, fast compilers for JavaScript and WebAssembly.
- Run backend code supporting your app, written using a single programming language.

## Try Dart in your browser

### Want more practice? Learn the language, explore the core libraries, or build a command-line app.