Dart has a rich set of core libraries that provide essentials for many everyday
programming tasks such as
working on collections of objects (dart:collection
),
making calculations (dart:math
),
and encoding/decoding data (dart:convert
).
Additional APIs are available in
commonly used packages.
Multi-platform libraries
The following table lists the Dart core libraries that work on all Dart platforms.
Library | Notes |
---|---|
dart:core Built-in types, collections, and other core functionality for every Dart program. |
|
dart:async , package:async Support for asynchronous programming, with classes such as Future and Stream .package:async provides additional utilities around the Future and Stream types. |
|
dart:collection , package:collection Classes and utilities that supplement the collection support in dart:core .package:collection provides further collection implementations and functions for working on and with collections. |
|
dart:convert , package:convert Encoders and decoders for converting between different data representations, including JSON and UTF-8. package:convert provides additional encoders and decoders. |
|
dart:developer Interaction with developer tools such as the debugger and inspector. |
Native JIT and dartdevc only |
dart:math Mathematical constants and functions, plus a random number generator. |
|
dart:typed_data , package:typed_data Lists that efficiently handle fixed sized data (for example, unsigned 8-byte integers) and SIMD numeric types. package:typed_data provides further classes and functions working on typed data. |
Native platform libraries
The following table lists the Dart core libraries that work on the Dart native platform (AOT- and JIT-compiled code).
Library | Notes |
---|---|
dart:ffi , package:ffi A foreign function interface that lets Dart code use native C APIs. package:ffi contains utilities incl. support for converting Dart strings and C strings. |
|
dart:io , package:io File, socket, HTTP, and other I/O support for non-web applications. package:io provides functionality including support for ANSI colors, file copying, and standard exit codes. |
|
dart:isolate Concurrent programming using isolates: independent workers similar to threads. |
|
dart:mirrors Basic reflection with support for introspection and dynamic invocation. |
Experimental Native JIT only (not Flutter) |
Web platform libraries
The following table lists the Dart core libraries that work on the Dart web platform (code compiled to JavaScript).
Library | Notes |
---|---|
dart:html HTML elements and other resources for web-based applications. |
|
dart:indexed_db Client-side key-value store with support for indexes. |
|
dart:js , dart:js_util , package:js dart:js_util provides low-level primitives for interoperability; typically the higher-level annotations in package:js are recommended, as they help express interoperability more succinctly. For more details see JavaScript interoperability.Don’t use dart:js directly; direct use of those legacy APIs is deprecated. |
|
dart:svg Scalable Vector Graphics. |
|
dart:web_audio High-fidelity audio programming in the browser. |
|
dart:web_gl 3D programming in the browser. |