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:async 、 package:async Future やStream などのクラスを使用した、非同期プログラミングのサポート。package:async は、Future およびStream 型に関する追加ユーティリティを提供します。 | |
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 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:js 、 dart:js_util 、 package: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 を使用してください。 |
特に明記されていない限り、このサイトのドキュメントはDart 3.5.3を反映しています。ページの最終更新日:2024-05-23。 ソースを表示 または 問題を報告する。