目次

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
Flutterアプリ、サーバー、コマンドラインスクリプトなど、Dart VMを使用できるプログラムのI/O。
dart:html
ブラウザベースのアプリ向けのDOMおよびその他のAPI。現在、dart:htmlではなくpackage:webを使用することをお勧めします。

前述のとおり、これらのページは概要のみです。dart:*ライブラリのいくつかのみをカバーし、サードパーティライブラリは含まれていません。

Dartがさまざまなプラットフォームでサポートするすべてのライブラリの概要については、以下のマルチプラットフォームライブラリネイティブプラットフォームライブラリ、およびWebプラットフォームライブラリのリストを確認してください。

ライブラリ情報を見つけることができるその他の場所は、pub.devサイトDart Web開発者ライブラリガイドです。すべてのdart:*ライブラリのAPIドキュメントは、Dart APIリファレンス、またはFlutterを使用している場合はFlutter APIリファレンスにあります。

Dart言語の詳細については、言語のドキュメントとサンプルをご覧ください。

マルチプラットフォームライブラリ

#

次の表に、すべてのDartプラットフォームで動作するDartコアライブラリを示します。

ライブラリ備考
dart:core
すべてのDartプログラムの組み込み型、コレクション、およびその他のコア機能。
dart:asyncpackage:async
FutureStreamなどのクラスを使用した、非同期プログラミングのサポート。
package:asyncは、FutureおよびStream型に関する追加ユーティリティを提供します。
dart:collectionpackage:collection
dart:coreのコレクションサポートを補完するクラスとユーティリティ。
package:collectionは、コレクションの操作とコレクションに対する追加のコレクション実装と関数を提供します。
dart:convertpackage:convert
JSONやUTF-8など、さまざまなデータ表現間で変換するためのエンコーダーとデコーダー。
package:convertは、追加のエンコーダーとデコーダーを提供します。
dart:developer
デバッガーやインスペクターなどの開発者ツールとの対話。
ネイティブJITおよび開発用JavaScriptコンパイラのみ
dart:math
数学定数と関数、および乱数ジェネレーター。
dart:typed_datapackage:typed_data
固定サイズのデータ(例:符号なし8バイト整数)とSIMD数値型を効率的に処理するリスト。
package:typed_dataは、型付きデータを操作するためのクラスと関数をさらに提供します。

ネイティブプラットフォームライブラリ

#

次の表に、Dartネイティブプラットフォーム(AOTおよびJITコンパイルされたコード)で動作するDartコアライブラリを示します。

ライブラリ備考
dart:ffipackage:ffi
DartコードがネイティブC APIを使用できるようにする外部関数インターフェイス。
package:ffiには、Dart文字列とC文字列の変換サポートを含むユーティリティが含まれています。
dart:iopackage:io
Web以外のアプリケーション向けのファイル、ソケット、HTTP、およびその他のI/Oサポート。
package:ioは、ANSIカラー、ファイルコピー、標準終了コードのサポートなどの機能を提供します。
dart:isolate
アイソレートを使用した並行プログラミング:スレッドに似た独立したワーカー。
dart:mirrors
イントロスペクションと動的呼び出しをサポートする基本的なリフレクション。
実験的
ネイティブJITのみ(Flutterではない

Webプラットフォームライブラリ

#

次の表に、Dart Webプラットフォーム(JavaScriptにコンパイルされたコード)で動作するDartコアライブラリを示します。最新のおすすめツールは**太字**で、レガシーツールは*斜体*で示されています(詳細については、Javascriptの相互運用性をご覧ください)。

ライブラリ備考
package:web
JS interopに基づいて構築された軽量ブラウザAPIバインディング
すべてのdart:* Webライブラリを置き換えます。移行ガイドをお読みください。
dart:js_interop
JavaScriptおよびブラウザAPIとの相互運用。
package:jsを置き換えます。
dart:js_interop_unsafe
JavaScriptオブジェクトを動的に操作するためのユーティリティメソッド。
dart:js_utilを置き換えます。
dart:html (レガシー)
Webベースのアプリケーション向けのHTML要素およびその他のリソース。
代わりにpackage:webを使用してください。
dart:indexed_db (レガシー)
インデックスをサポートするクライアントサイドのキーバリューストア。
代わりにpackage:webを使用してください。
dart:jsdart:js_utilpackage:js (レガシー)
JS interop向けの低レベルプリミティブと高レベルアノテーション。
代わりにdart:js_interopまたはdart:js_interop_unsafeを使用してください。
dart:svg (レガシー)
スケーラブルベクターグラフィックス。
代わりにpackage:webを使用してください。
dart:web_audio (レガシー)
ブラウザでの高忠実度オーディオプログラミング。
代わりにpackage:webを使用してください。
dart:web_gl (レガシー)
ブラウザでの3Dプログラミング。
代わりにpackage:webを使用してください。