此頁面列出 Dart 開發人員發布的一些最熱門且有用的 套件。如要尋找更多套件,以及搜尋 核心函式庫,請使用 pub.dev 網站。
常用套件分為三組
通用套件
#針對各種專案使用這些套件。
套件 | 說明 | 常見的 API |
---|---|---|
archive | 編碼和解碼各種封存和壓縮格式。 | Archive、ArchiveFile、TarEncoder、TarDecoder、ZipEncoder、ZipDecoder |
characters | 處理使用者感知字元(Unicode 字形群集)的字串。 | String.characters、Characters、CharacterRange |
cronet_http | 提供存取 Android Cronet HTTP 伺服器端,其介面與 package:http 相同。 | |
cupertino_http | 提供存取 Apple 的 Foundation URL Loading System,其介面與 package:http 相同。 | |
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 | 處理不同類型的路徑。如需深入了解,請參閱 Unboxing Packages: 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 的網頁伺服器中介軟體。Shelf 讓建立和組合網頁伺服器,以及網頁伺服器的部分,變得容易。 | 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 函式庫有 API 可用於處理處理程序、stdin 和檔案複製。 | copyPath()、isExecutable()、ExitCode、ProcessManager、sharedStdIn |
專用套件
#如需尋找專門套件,例如 Flutter 和網頁開發套件,請參閱下列各節。
Flutter 套件
#如需深入了解 Flutter 套件,請參閱 Flutter 文件中的 使用套件,或在 pub.dev 網站中搜尋 Flutter 套件。
網頁套件
#如需深入了解網頁套件,請參閱 網頁函式庫和套件,或在 pub.dev 網站中搜尋 網頁套件。
命令列和伺服器套件
#如需深入了解 CLI 或伺服器套件,請參閱 命令列和伺服器函式庫和套件。或使用 pub.dev 網站 搜尋其他套件。