Dart 语言核心库
Dart 拥有非常丰富的核心库用以为诸如处理对象集合(dart:collection
)、进行数学运算(dart:math
)以及编/解码数据(dart:convert
)等常用编程操作提供支持。除此之外,
由社区贡献的 packages 中也提供了许多其它的 API 便于开发者使用。
全平台库列表
下面提供的一些库可以应用于所有 Dart 可运行的平台。
dart:core 每一个 Dart 程序都可能会使用到的内置类型、集合以及其它的一些核心功能。 |
|
dart:async , package:async 支持通过使用 Future 和 Stream 这样的类实现异步编程。package:async 提供了更多围绕 Future 和 Stream 构建的实用工具 |
|
dart:collection , package:collection 提供 dart:core 库中不支持的额外的集合实用工具类。package:collection 则提供了更进一步的、用于处理和使用集合的函数和实现 |
|
dart:convert , package:convert 用于提供转换不同数据的编码器和解码器,包括 JSON 和 UTF-8。 package:convert 则提供了更多编解码器。 |
|
dart:developer 类似调试器和分析器这样的与开发者交互配合的工具。 |
|
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 编程。 |