Wait the light to fall

常用的包

焉知非鱼

Commonly used packages

本页列出了一些 Dart 开发者发布的最流行和最有用的。要找到更多的软件包–也可以搜索核心库–请使用 pub.dev 网站。

常用的软件包可分为三类:

通用包 #

以下包对各种项目都很有用:

描述 常用的 API
archive 对各种档案和压缩格式进行编码和解码。 Archive, ArchiveFile, TarEncoder, TarDecoder, ZipEncoder, ZipDecoder
characters 对用户感知的字符进行字符串操作(Unicode 字符簇) String.characters, Characters, CharacterRange
http 一组高级的函数和类,使其易于消费 HTTP 资源 delete(), get(), post(), read()
intl 国际化和本地化设施,支持复数和性别、日期和数字格式化和解析以及双向文本 Bidi, DateFormat, MicroMoney, TextDirection
json_serializable 一个易于使用的代码生成包。更多信息,请参阅 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、pattern 和 测试 CountdownTimer (quiver.async); MapCache (quiver.cache); MultiMap, TreeSet (quiver.collection); EnumerateIterable (quiver.iterables); center(), compareIgnoreCase(), isWhiteSpace() (quiver.strings)
shelf Dart 的 Web 服务器中间件。Shelf 使它能轻松地创建和组成 Web 服务器,以及 Web 服务器的一部分 Cascade, Pipeline, Request, Response, Server
stack_trace 用于解析、检查和处理由底层 Dart 实现产生的堆栈痕迹的方法。还提供了以比原生 StackTrace 实现更可读的格式生成堆栈跟踪的字符串表示的函数, 更多信息,请参见拆包: stack_trace Trace.current(), Trace.format(), Trace.from()
stagehand 一个 Dart 项目生成器。当你创建一个新的应用程序时,WebStorm 和 IntelliJ 使用 Stagehand 模板,但你也可以从命令行使用模板 一般通过 IDE 或 stagehand 命令来使用
test 在 Dart 中编写和运行测试的标准方法 expect(), group(), test()
yaml YAML 解析器 loadYaml(), loadYamlStream()

扩展 Dart 核心库的包 #

以下每个包都建立在一个核心库的基础上,增加了功能并填补了缺失的功能:

描述 常用的 API
async 在 dart:async 的基础上进行了扩展,增加了实用类来处理异步计算。更多信息,请参见拆包: async 第1部分第2部分第3部分 AsyncMemoizer, CancelableOperation, FutureGroup, LazyStream, Result, StreamCompleter, StreamGroup, StreamSplitter
collection 在 dart:collection 的基础上进行了扩展,增加了实用函数和类,使处理集合的工作变得更加容易。更多信息,请看拆包: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)和网页开发的包。

Flutter 包 #

请看 Flutter 网站上的使用包。或者使用 pub.dev 网站搜索 Flutter 包

网络包 #

参见网络库和包。或者使用 pub.dev 站点搜索 web 包

命令行和服务器软件包 #

参见命令行和服务器库和包。或者使用 pub.dev 站点搜索其他包