常用软件包
此页面列出了 Dart 开发人员发布的一些最受欢迎且最有用的 包。要查找更多包(以及搜索 核心库),请使用 pub.dev 网站。
常用的软件包分为三组
通用包
#在各种项目中使用这些软件包。
软件包 | 说明 | 常用的 API |
---|---|---|
archive | 对各种存档和压缩格式进行编码和解码。 | Archive、ArchiveFile、TarEncoder、TarDecoder、ZipEncoder、ZipDecoder |
characters | 为用户感知的字符(Unicode 分形群集)处理字符串。 | String.characters、Characters、CharacterRange |
cronet_http | 使用与 package:http 相同的界面提供对 Android Cronet HTTP 客户端的访问权限。 | |
cupertino_http | 使用与 package:http 相同的界面提供对 Apple 的 Foundation URL 加载系统 的访问权限。 | |
http | 提供了一组高级函数和类,以简化消耗 HTTP 资源。 | delete()、get()、post()、read() |
intl | 国际化和本地化工具,支持复数和性别、日期和数字格式化和解析以及双向文本。 | Bidi、DateFormat、MicroMoney、TextDirection |
json_serializable | 生成 JSON 处理代码。要了解更多信息,请参阅 JSON 支持。 | @JsonSerializable |
logging | 向您的应用程序添加消息日志记录。 | LoggerHandler、Level、LogRecord |
mockito | 在测试中模拟对象。在编写依赖注入测试时很有帮助。与 test 软件包一起使用。 | Answering、Expectation、Verification |
path | 处理不同类型的路径。要了解更多信息,请参阅 拆箱软件包:path。 | absolute()、basename()、extension()、join()、normalize()、relative()、split() |
quiver | 简化了使用核心 Dart 库。Quiver 提供附加支持的一些库包括 async、cache、collection、core、iterables、patterns 和 testing。 | CountdownTimer (quiver.async);MapCache (quiver.cache);MultiMap、TreeSet (quiver.collection);EnumerateIterable (quiver.iterables);center()、compareIgnoreCase()、isWhiteSpace() (quiver.strings) |
shelf | 为 Dart 提供 Web 服务器中间件。Shelf 使创建和组合 Web 服务器及其部分变得容易。 | Cascade、Pipeline、Request、Response、Server |
stack_trace | 解析、检查和操作 Dart 生成的堆栈跟踪。还将堆栈跟踪转换为比本机 StackTrace 实现更易读的格式。要了解更多信息,请参阅 Unboxing Packages: stack_trace。 | Trace.current()、Trace.format()、Trace.from() |
test | 标准化在 Dart 中编写和运行测试。 | expect()、group()、test() |
yaml | 解析 YAML 标记。 | loadYaml()、loadYamlStream() |
扩展 Dart 核心库的包
#以下每个软件包都基于 核心库,添加功能并填补缺失的功能
软件包 | 说明 | 常用的 API |
---|---|---|
async | 扩展 dart:async,添加实用程序类以处理异步计算。要了解更多信息,请参阅 Unboxing Packages: async part 1、part 2 和 part 3。 | AsyncMemoizer、CancelableOperation、FutureGroup、LazyStream、Result、StreamCompleter、StreamGroup、StreamSplitter |
collection | 扩展 dart:collection,添加实用程序函数和类,以简化处理集合。要了解更多信息,请参阅 Unboxing Packages: collection。 | Equality、CanonicalizedMap、MapKeySet、MapValueSet、PriorityQueue、QueueList |
convert | 扩展 dart:convert,添加用于在不同数据表示之间进行转换的编码器和解码器。其中一种数据表示是百分号编码,也称为URL 编码。 | HexDecoder、PercentDecoder |
io | 包含两个库,ansi 和 io,以简化使用文件、标准流和进程。使用 ansi 库自定义终端输出。io 库具有用于处理进程、stdin 和文件复制的 API。 | copyPath()、isExecutable()、ExitCode、ProcessManager、sharedStdIn |
专业包
#要查找专门的软件包,例如 Flutter 和 Web 开发软件包,请参阅以下部分。
Flutter 包
#要了解有关 Flutter 软件包的更多信息,请参阅 Flutter 文档中的 使用软件包,或在 pub.dev 网站上搜索 Flutter 软件包。
网络包
#要了解有关 Web 软件包的更多信息,请参阅 Web 库和软件包,或在 pub.dev 网站上搜索 Web 软件包。
命令行和服务器包
#要了解有关 CLI 或服务器软件包的更多信息,请参阅 命令行和服务器库和软件包。或使用 pub.dev 网站 搜索其他软件包。