目录

Dart 语言核心库

Dart 拥有非常丰富的核心库用以为诸如处理对象集合(dart:collection)、进行数学运算(dart:math)以及编/解码数据(dart:convert)等常用编程操作提供支持。除此之外, 由社区贡献的 packages 中也提供了许多其它的 API 便于开发者使用。

全平台库列表

下面提供的一些库可以应用于所有 Dart 可运行的平台

库名称 备注
dart:core
每一个 Dart 程序都可能会使用到的内置类型、集合以及其它的一些核心功能。
 
dart:async, package:async
支持通过使用 FutureStream 这样的类实现异步编程。
package:async 提供了更多围绕 FutureStream 构建的实用工具
 
dart:collection, package:collection
提供 dart:core 库中不支持的额外的集合实用工具类。
package:collection 则提供了更进一步的、用于处理和使用集合的函数和实现
 
dart:convert, package:convert
用于提供转换不同数据的编码器和解码器,包括 JSON 和 UTF-8。
package:convert 则提供了更多编解码器。
 
dart:developer
Interaction with developer tools such as the debugger and inspector.
Native JIT and dartdevc only
dart:developer
类似调试器和分析器这样的与开发者交互配合的工具。
仅支持 Native JITdartdevc
dart:math
包含算术相关函数和常量,还有随机数生成器。
 
dart:typed_data, package:typed_data
高效处理固定大小数据(例如无符号的 8 位整型)和 SIMD 数字类型的列表。
package:typed_data 提供了更进一步的类和方法用于处理结构化的数据。
 

原生平台库

下面列出的核心库适用于 Dart 原生平台(AOT 和 JIT 编译运行)。

库名称 备注
dart:ffi, package:ffi
Dart 代码可以通过这个外部函数接口使用原生的 C 语言 API。
package:ffi 提供的实用工具包括:支持转换 Dart 字符串和 C 字符串。
 
dart:io, package:io
用于支持非 Web 应用的文件、Socket、HTTP 和其它 I/O 操作。
package:io 提供的功能包括 ANSI 颜色、文件复制和标准化的退出代码。
 
dart:isolate
使用 Isolate 实现并发编程:类似于线程的独立的 Worker。
 
dart:mirrors
支持检查和动态调用的基本反射功能。
实验性
只在 JIT 中有效 (Flutter 中无效)

Web 平台库

下面列出的核心库适用于 Dart Web 平台(代码编译成 JS 来运行)。

库名称 备注
dart:html
为 Web 应用开发所提供的 HTML 元素和其它资源。
 
dart:indexed_db
客户端上使用的可以索引的键值对存储。
 
dart:js, dart:js_util, package:js
dart:js_util 为互操作提供了低级原语 (Low-Level Primitives),通常情况下我们更推荐使用 package:js 中提供的更高阶的注解内容,因为它们更有助于更简洁地表达和体现互操作性。
请不要直接使用 dart:js 了,那些 API 已被标记为已废弃
 
dart:svg
用于可缩放的矢量图形 (SVG)。
 
dart:web_audio
用于浏览器的高保真音频编程。
 
dart:web_gl
用于浏览器的 3D 编程。