Welcome!
Welcome to the Dart API reference documentation, covering the Dart core libraries. These include:
- dart:core: Core functionality such as strings, numbers, collections, errors, dates, and URIs.
- dart:io: I/O for non-web apps.
- dart:async: Functionality for asynchronous programming with futures, streams, and zones.
You'll also find reference documentation covering Dart's various platform interoperability options, such as:
- dart:js_interop: Library including a sound type hierarchy and helper functions for interoperability with JavaScript.
- package:web: DOM manipulation for web apps.
- dart:ffi: Foreign function interfaces for interoperability with the C language.
The core libraries - except for dart:core
- must be imported before they're
available for use:
import 'dart:math';
Additionally, you can find Dart packages at pub.dev.
Language docs
The main site for learning and using Dart is dart.dev. Check out these pages:
This API reference is generated from the SDK source at dart-lang/sdk. If you'd like to give feedback on or edit this documentation, see Contributing.
Libraries
- dart:async
- Support for asynchronous programming, with classes such as Future and Stream.
- dart:collection
- Classes and utilities that supplement the collection support in dart:core.
- dart:convert
- Encoders and decoders for converting between different data representations, including JSON and UTF-8.
- dart:core
- Built-in types, collections, and other core functionality for every Dart program.
- dart:developer
- Interact with developer tools such as the debugger and inspector.
- dart:math
- Mathematical constants and functions, plus a random number generator.
- dart:typed_data
- Lists that efficiently handle fixed sized data (for example, unsigned 8 byte integers) and SIMD numeric types.
- dart:ffi
- Foreign Function Interface for interoperability with the C programming language.
- dart:io
- File, socket, HTTP, and other I/O support for non-web applications.
- dart:isolate
- Concurrent programming using isolates: independent workers that are similar to threads but don't share memory, communicating only via messages.
- dart:mirrors
- Basic reflection in Dart, with support for introspection and dynamic invocation.
- package:web open_in_new
- This package exposes browser APIs. It's intended to replace dart:html and similar Dart SDK libraries. It will support access to browser APIs from Dart code compiled to either JavaScript or WebAssembly.
- dart:js_interop
- Interoperability, "interop" for short, with JavaScript and browser APIs.
- dart:js_interop_unsafe
- Utility methods to manipulate JavaScript objects dynamically.
- package:js open_in_new
- Use this package when you want to call JavaScript APIs from Dart code, or vice versa.
- dart:html
- HTML elements and other resources for web-based applications that need to interact with the browser and the DOM (Document Object Model).
- dart:indexed_db
- A client-side key-value store with support for indexes.
- dart:js
- Low-level support for interoperating with JavaScript.
- dart:js_util
- Utility methods to manipulate
package:js
annotated JavaScript interop objects in cases where the name to call is not known at runtime. - dart:svg
- Scalable Vector Graphics: Two-dimensional vector graphics with support for events and animation.
- dart:web_audio
- High-fidelity audio programming in the browser.
- dart:web_gl
- 3D programming in the browser.