目录

Dart的核心库

Dart拥有丰富的核心库集,它们为许多日常编程任务提供了必需的功能,例如处理对象集合(dart:collection)、进行计算(dart:math)以及编码/解码数据(dart:convert)。更多API可在 常用包 中找到。

库教程

#

以下指南介绍了如何使用Dart核心库的主要功能。它们仅提供概述,绝非详尽无遗。当您需要有关库或其成员的更多详细信息时,请查阅 Dart API 参考

dart:core
内置类型、集合和其他核心功能。此库会自动导入到每个Dart程序中。
dart:async
支持异步编程,包含Future和Stream等类。
dart:math
数学常量和函数,以及随机数生成器。
dart:convert
用于在不同数据表示形式(包括JSON和UTF-8)之间转换的编码器和解码器。
dart:io
可使用Dart VM的程序的I/O,包括Flutter应用、服务器和命令行脚本。
dart:html
用于基于浏览器的应用程序的DOM和其他API。我们现在建议使用 package:web 代替 dart:html

如前所述,这些页面只是概述;它们只涵盖了几个dart:*库,不包括任何第三方库。

有关Dart在不同平台上支持的所有库的概述,请查看下面的 多平台库原生平台库Web平台库 列表。

查找库信息的其它地方是 pub.dev网站Dart Web开发者库指南 。您可以在 Dart API 参考 中找到所有dart:*库的API文档,或者如果您使用的是Flutter,则可以在 Flutter API 参考 中找到。

要了解有关Dart语言的更多信息,请查看 语言文档和示例

多平台库

#

下表列出了可在所有 Dart平台 上运行的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
与调试器和检查器等开发者工具交互。
仅限 原生JIT开发版JavaScript编译器
dart:math
数学常量和函数,以及随机数生成器。
dart:typed_data , package:typed_data
高效处理固定大小数据(例如,无符号8字节整数)和SIMD数值类型的列表。
package:typed_data 提供了更多用于处理类型化数据的类和函数。

原生平台库

#

下表列出了可在 Dart原生平台 (AOT和JIT编译代码)上运行的Dart核心库。

说明
dart:ffi , package:ffi
允许Dart代码使用原生C API的外部函数接口。
package:ffi 包含实用程序,包括对转换Dart字符串和C字符串的支持。
dart:io , package:io
非Web应用程序的文件、套接字、HTTP和其他I/O支持。
package:io 提供功能,包括对ANSI颜色、文件复制和标准退出代码的支持。
dart:isolate
使用隔离区进行并发编程:类似于线程的独立工作进程。
dart:mirrors
支持内省和动态调用的基本反射。
实验性
仅限 原生JIT Flutter)

Web平台库

#

下表列出了可在 Dart Web平台 (编译为JavaScript的代码)上运行的Dart核心库。最新的推荐工具为 粗体 ,旧版工具为 斜体 (访问[Javascript互操作性][]以了解更多信息)。

说明
package:web
围绕JS互操作构建的轻量级浏览器API绑定
替换所有 dart:* Web库。阅读 迁移指南
dart:js_interop
与JavaScript和浏览器API互操作。
替换 package:js
dart:js_interop_unsafe
用于动态操作JavaScript对象的实用程序方法。
替换 dart:js_util
dart:html (旧版)
HTML元素和其他基于Web的应用程序资源。
使用 package:web 代替。
dart:indexed_db (旧版)
支持索引的客户端键值存储。
使用 package:web 代替。
dart:js , dart:js_util , package:js (旧版)
用于JS互操作的低级基元和高级注释。
使用 dart:js_interopdart:js_interop_unsafe 代替。
dart:svg (旧版)
可缩放矢量图形。
使用 package:web 代替。
dart:web_audio (旧版)
浏览器中的高保真音频编程。
使用 package:web 代替。
dart:web_gl (旧版)
浏览器中的3D编程。
使用 package:web 代替。