You can use Dart to write simple scripts or full-featured apps. Whether you’re creating a mobile app, web app, command-line script, or server-side app, there’s a Dart solution for that.
Flexible compiler technology lets you run Dart code in different ways, depending on your target platform and goals:
- Dart Native: For programs targeting devices (mobile, desktop, server, and more), Dart Native includes both a Dart VM with JIT (just-in-time) compilation and an AOT (ahead-of-time) compiler for producing machine code.
Dart Web: For programs targeting the web, Dart Web includes both a
development time compiler (
dartdevc) and a production time compiler (
Dart Native (VM JIT and AOT)
Dart Native enables running Dart code compiled to native ARM or X64 machine code for mobile, desktop, and server apps.
The Flutter framework is a popular multi-platform UI toolkit that’s powered by Dart Native when targeting mobile or desktop devices.
- Flutter get started documentation
- Get started: command-line and server apps
- Write command-line apps
- Write HTTP clients and servers
Lightning fast developer workflow (Dart VM JIT)
Having a fast developer cycle is critical for iteration.
The Dart VM has a just-in-time compiler (JIT) that supports both pure interpretation (as required on iOS devices, for example) and runtime optimization.
dart VM tool
Optimized production code (Dart AOT)
When apps are ready to be deployed to production — whether you’re publishing to an app store or deploying to a production backend — you can use the Dart AOT compiler to ahead-of-time compile your app to native ARM or X64 code machine code. Your AOT-compiled app starts instantly and runs smoothly.
The AOT-compiled code runs inside an efficient Dart runtime that enforces the sound Dart type system and manages memory using fast object allocation and a generational garbage collector.
More information: Get started: web apps
Lightning fast developer workflow (Dart dev compiler)
The Dart dev compiler (
that’s optimized for quick turnaround. Instead of using
you use it with
webdev, a tool that supports core developer tasks such as
running, debugging, and building.
Optimized production code (Dart JS compiler)
It employs techniques such as dead-code elimination