以下は Flutter SDK についての一覧です。
1.Framework Libraries
Flutterのコアフレームワークで、UI構築やアプリケーションロジックの開発を支援するための基本的なライブラリ群です。’package:flutter/<library>.dart’を使ってインポートします:
animation | アニメーションの管理と操作を行うためのライブラリです。時間ベースのアニメーションや、カスタムトランジションを作成するためのツールが含まれています。アニメーションコントローラー、カーブ、タイムラインなどを使用して、複雑なアニメーション効果を簡単に実装できます。 |
cupertino | iOSスタイルのウィジェットとデザインパターンを提供します。AppleのiOSデザインガイドラインに従ったUIコンポーネントを提供し、プラットフォーム固有のユーザーエクスペリエンスを構築するのに役立ちます。 |
foundation | Flutterのコアとなる基本機能を提供します。このライブラリには、エラーハンドリング、メモリ管理、メタデータの定義など、アプリケーションの土台を支えるクラスやユーティリティが含まれています。 |
gestures | タッチやドラッグ、スワイプなどのジェスチャーを検出し、処理するためのライブラリです。ジェスチャーリスナーやディテクターを使用して、ユーザーインタラクションを管理できます。 |
material | Googleのマテリアルデザインガイドラインに基づいたUIコンポーネントを提供します。ボタン、ナビゲーション、ダイアログ、フォームなど、広く使われるウィジェットが含まれています。 |
painting | 色、グラデーション、シェイプ、イメージ、テキストスタイルなど、ペイントに関連するツールを提供します。キャンバスに描画する際に使用される基本的な機能が揃っています。 |
physics | 物理シミュレーションを扱うためのライブラリです。スクロール、フリング、ドラッグなど、UI内での物理挙動を制御する際に使用します。 |
rendering | レンダリングエンジンを操作し、ウィジェットの配置、描画、レイアウトを管理します。このレイヤーはFlutterのレンダーツリーを構築し、UI要素を正しく描画する役割を持ちます。 |
scheduler | タスクのスケジューリングとフレームの同期を管理します。高精度なタイミングでのアニメーションや、アプリケーションのメインイベントループに関連する操作を行う際に使用されます。 |
semantics | アクセシビリティをサポートするためのセマンティクス情報を管理します。スクリーンリーダーやアクセシビリティツールがコンテンツを解釈できるよう、ウィジェットに意味を付与します。 |
services | プラットフォームサービスへのアクセスを提供します。ネイティブコード(AndroidやiOS)との通信や、システム機能(バッテリー状態、デバイス情報、ネットワーク接続など)へのアクセスを行う際に使用します。 |
widgets | FlutterのUIを構成する基本的なビルディングブロックです。このライブラリには、レイアウト、インタラクション、状態管理など、アプリケーションのUIを作成するための主要なウィジェットが含まれています。 |
2.Dart Libraries
DartおよびFlutterにおいて、低レベルなグラフィック描画やUI構築に関連するライブラリです。これらのライブラリは、主にFlutterフレームワークやWeb上でのUIレンダリングに使用されます。
dart:名前空間に存在し、「dart: <library>」を使ってインポートします:
ui | Flutterエンジンのコア部分を構成する低レベルのグラフィックライブラリです。主に、カスタムペイント、描画、テキストレンダリング、アニメーション、そしてUIのレイヤー管理などを行います。 |
ui_web | dart:ui のWeb実装バージョンです。このライブラリは、Flutter for Webのレンダリングエンジンとして機能し、ブラウザ環境でのUI構築を可能にします。dart:ui_web は、dart:ui のAPIを模倣しており、Web上での描画をサポートしますが、背後ではHTML5 CanvasやWebGLを使用してブラウザ上にUIをレンダリングします。 |
3.Core Libraries
Dartプログラムの基本機能を提供します。これらのライブラリは、非同期プログラミング、コレクション操作、データ変換、数値演算、開発者ツールとの連携など、広範な機能をサポートします。
dart:名前空間に存在し、「dart: <library>」を使ってインポートします:
async | 非同期プログラミングをサポートするライブラリで、Future や Stream などのクラスが含まれます。非同期操作を実行し、その結果を待機したり、データのストリームを処理するために使用されます。 |
collection | Dartのコレクション操作を補完するクラスやユーティリティを提供します。リスト、マップ、セットなどの標準コレクションを拡張する機能が含まれます。 |
convert | 異なるデータ表現の間でエンコードやデコードを行うためのライブラリで、JSONやUTF-8の変換が含まれます。データのシリアライズや逆シリアライズ、文字列のエンコーディングなどに使用されます。 |
developer | デバッグや開発ツールと連携するためのライブラリです。デバッガーへのログ出力や、プログラムの実行を手動で停止させるブレークポイントを設定できます。 |
math | 数学的な定数と関数を提供します。三角関数、対数関数、平方根などの標準的な数学関数に加え、乱数生成機能も含まれます。 |
typed_data | 固定サイズのデータ(例: 8ビットの符号なし整数)やSIMD(Single Instruction, Multiple Data)型を効率的に扱うためのリストを提供します。特にパフォーマンスが求められるデータ処理で使用されます。 |
例外として、dart:coreライブラリはDartのすべてのプログラムにデフォルトで含まれているため、明示的にインポートする必要はありません。これには基本的なビルトイン型や関数が含まれています。
core | Dartプログラムのすべての基盤となる基本的な型や機能を提供します。このライブラリは自動的にインポートされ、Dartプログラムの中で常に使用可能です。リストやマップ、文字列操作、エラーハンドリングなど、ほとんどのDartコードで使用される基本的なクラスが含まれています。 |
4.VM Libraries
Dartのバーチャルマシン(VM)で実行されるアプリケーションに特有の機能を提供するライブラリ群です。
dart:名前空間に存在し、「dart:<library>」を使ってインポートします:
ffi | dart:ffiは、DartプログラムからC言語の関数を呼び出すためのインタフェースを提供します。これにより、Dartアプリケーションはシステムレベルやサードパーティ製の低レベルのライブラリにアクセスできるようになります。パフォーマンスが重要な操作や既存のC言語のコードベースとの連携が必要な場合に使用されます。 |
io | dart:ioライブラリは、ファイル、ソケット、HTTPクライアント・サーバーなど、入出力関連の操作を提供します。このライブラリを使用することで、ファイルシステムへのアクセスやネットワーク通信などが可能になります。主にサーバーサイドやコマンドラインツールで使用されます。 |
isolate | dart:isolateライブラリは、軽量な並列実行を可能にするためのメカニズムを提供します。Isolateは、共有されないメモリ空間を持つ複数の実行スレッドとして機能し、アプリケーションが複数のプロセッサを活用して処理を行うのを助けます。これにより、UIのブロッキングを避けながらバックグラウンドでの重い処理が可能になります。 |
5.WEB Libraries
主にDartプログラムがウェブブラウザ上で実行される際に使用されるライブラリ群です。
「package:<library>」(web)、「dart:<library>」(js_interop、js_interop_unsafe)を使ってインポートします:
web | JS interopを中心に構築された軽量なブラウザAPIバインディング。 |
js_interop | DartプログラムからJavaScriptコードを利用するためのインターフェースを提供します。Dartから直接JavaScriptの関数を呼び出したり、JavaScriptのオブジェクトと連携することが可能です。これにより、Dartでウェブアプリケーションを開発する際に、既存のJavaScriptライブラリやブラウザ固有のAPIにアクセスすることができます。 |
js_interop_unsafe | dart:js_interopの一部で、より直接的かつ制限の少ない方法でJavaScriptとの相互運用を行うためのAPIを提供します。このライブラリを使用することで、型安全性が低下する可能性がありますが、柔軟性と直接性が求められる場合に有効です。安全でないとされる操作を行う可能性があるため、この名前が付けられています。 |
6.WEB(LEGACY) Libraries
「Web(LEGACY)」という分類は、Dartのウェブプログラミングにおいて以前より使用されていたが、新しい方法やパッケージに置き換えられつつあるライブラリ群です。
「package:<library>」(package: js)、「dart:<library>」(dart: js、 html、js_util)を使ってインポートします:
package: js | package:js は、DartプログラムからJavaScriptコードを操作するためのパッケージです。このパッケージを使用することで、JavaScriptのオブジェクトや関数をDartから呼び出すことができます。アノテーションを用いてJavaScriptのオブジェクトとの相互運用を明示的に行うことが特徴です。dart:jsに比べてより高度な相互運用が可能です。 |
dart: html | dart:html ライブラリは、HTML文書を操作するためのAPIを提供します。これを使ってDOMの操作やイベントのハンドリング、ブラウザとの対話が行えます。ウェブページ内でのUI操作や動的な内容の生成に利用されます。このライブラリはブラウザベースのDartアプリケーションでのみ使用されます。 |
dart: js | dart:js は、DartからJavaScriptを呼び出すための古いインターフェースを提供します。このライブラリを通じて、JavaScriptのオブジェクトや関数と相互作用することができますが、新しいpackage:jsやdart:js_interopに比べると機能が限られています。 |
dart: js_util | dart:js_util ライブラリは、dart:jsの補助的な機能を提供し、JavaScriptとの相互運用時に便利なユーティリティ関数を含んでいます。より細かいJavaScriptの操作やデータの変換が可能ですが、こちらも新しいAPIによって代替されつつあります。 |
7.PLATFORM_INTEGRATION Libraries
Flutterは、クロスプラットフォーム開発を強力にサポートしており、その一環として、異なるオペレーティングシステムに対する「プラットフォーム統合API」を提供しています。これらにより、Flutterアプリケーションが各プラットフォームの固有の機能やサービスを利用できるようになります。
android | Android固有の機能(例えば、バッテリー状態の取得、ローカル通知、バックグラウンドタスクの実行など)にアクセスできます。Android SDKの機能とFlutterアプリケーションを統合するためのインタフェースが提供されています。 |
ios | iOSデバイスのネイティブ機能(例えば、カメラ、GPS、加速度計など)へのアクセスを可能にします。これにより、iOSのUIKitとの連携や、iOS特有のサービスとの統合が可能になります。 |
linux | Linuxデスクトップ環境でのFlutterアプリケーション開発をサポートします。システムトレイの統合、ウィンドウ管理、デバイスハードウェアの情報取得など、Linux特有のAPIへのアクセスが含まれます。 |
macos | macOS上でのFlutterアプリケーションの開発をサポートし、macOSのネイティブAPI(例えば、メニューバーアプリケーション、通知、Touch Barのサポートなど)への統合を可能にします。 |
windows | WindowsでのFlutterアプリケーション開発を強化し、Windows API(ファイルシステムアクセス、ウィンドウ管理、システム通知など)との統合を可能にします。 |
8.FLUTTER_TEST Libraries
Flutterアプリケーションのテストを支援するためのパッケージです。
flutter_test | このライブラリはpackage:testの上に構築されており、Flutter固有の機能とウィジェットをテストするための豊富なツールとAPIを提供します。 |
効果的なテスト戦略を実装することで、アプリケーションの堅牢性とメンテナンス性を向上させることが可能になります。
9.FLUTTER_DRIVER Libraries
Flutterアプリケーションの統合テストを自動化するためのツールです。このライブラリは、アプリケーションが実際のデバイスやエミュレータ上で実行されるときの挙動をテストすることを可能にします。主にパフォーマンステストやエンドツーエンドのユーザーストーリーテストに使用されます。
flutter_driver | より複雑なユーザーインタラクションやアプリケーションの挙動をテストするための強力なツールであり、Flutterアプリケーションの品質を維持し向上させるために不可欠です。 |
driver_extension | flutter_driverテストフレームワークの一部であり、テストドライバがアプリケーションと通信するための拡張機能です。この拡張機能を利用することで、アプリケーションはテストコマンドを受け取り、指定された操作を実行したり、必要なデータをテストドライバに送り返すことができます。 |
10.FLUTTER_LOCALIZATIONS Libraries
Flutterアプリケーションに多言語サポートを提供するためのパッケージです。このライブラリは、Flutterフレームワーク自体のローカリゼーション(地域化)に必要なリソースとクラスを含んでおり、アプリケーションを国際化する際に重要な役割を果たします。
flutter_localizations | Flutter開発者が簡単に多言語サポートをアプリケーションに組み込むための強力なツールであり、国際的なユーザーベースに対応するためには不可欠です。 |
11.FLUTTER_WEB_PLUGINS Libraries
FlutterのWebアプリケーションに特化したプラグイン管理とプラットフォームチャネルの実装を提供します。このライブラリにより、Flutterで開発されたウェブアプリケーションがブラウザ固有の機能や既存のJavaScriptライブラリとの統合が可能になります。
flutter_web_plugins | FlutterのWebアプリケーションに特化したプラグイン管理とプラットフォームチャネルの実装を提供します。このライブラリにより、Flutterで開発されたウェブアプリケーションがブラウザ固有の機能や既存のJavaScriptライブラリとの統合が可能になります。 |
url_strategy | flutter_web_pluginsライブラリ内の一部で、FlutterウェブアプリケーションのURL戦略を定義および管理するためのAPIです。このAPIを使用すると、URLの表示と操作が容易になり、SEO(検索エンジン最適化)やユーザーのブックマーク動作に合わせたカスタマイズが可能です。 |
12.LEAK_TRACKER_FLUTTER_TESTING Libraries
Flutterアプリケーションのテストプロセス中にメモリリークを検出するために特化したツールです。このライブラリは、開発中のアプリケーションがリソースを適切に管理しているかどうかを確認することを目的としています。具体的には、ウィジェットやその他のオブジェクトが適切に破棄されているかどうかを追跡し、リークがある場合にそれを報告します。
leak_tracker_flutter_testing | 開発者がメモリリークを効果的に検出し、対応することを容易にするための重要なツールです。これにより、アプリケーションの全体的な品質とパフォーマンスが保証され、長期的なメンテナンスコストが削減されます。 |
13.ASYNC Libraries
Dartの標準非同期ライブラリである dart:async の機能を拡張するユーティリティを提供します。このライブラリには、非同期プログラミングをより効率的かつ柔軟に行うための追加機能が含まれています。
async | Dartの非同期プログラミングの機能を大幅に拡張し、より複雑なシナリオでの効率的なコードの書き方をサポートします。これにより、開発者は非同期コードの制御がより簡単になり、アプリケーションのパフォーマンスと信頼性が向上します。 |
14.BOOLEAN_SELECTOR Libraries
Dartでブール式を解析し、評価するための便利なツールを提供します。このライブラリを使用することで、特定の条件に基づいてコードの実行を制御する複雑な条件式を簡単に扱うことができます。
boolean_selector | 条件式の解析と評価を簡単にし、コードの汎用性と再利用性を高めることができます。特にテストや条件付きロジックが多用される場合に非常に役立ちます。 |
15.CHARACTERS Libraries
Dartでの文字列操作をUnicodeのグラフェムクラスタ(視覚的に単一の文字単位として認識される一連のコードポイント)を基準に行うためのツールを提供します。このライブラリを使用することで、多言語対応のアプリケーションにおいて、正確で予期せぬ挙動を防ぐ文字列操作を実現できます。
characters | グローバルなユーザーベースを持つアプリケーションの開発において、文字列操作の精度と信頼性を高めるための重要なツールです。これにより、文化的なニュアンスや言語的な特性を正しく扱うことができるようになります。 |
16.CLOCK Libraries
Dartプログラムで時間に基づく操作をより柔軟に扱うためのツールを提供します。このライブラリを使用することで、現実の時計やシステム時計に依存せずに時間を操作・テストすることが可能になります。特にテスト環境での時間の挙動を制御することが重要な場合に役立ちます。
clock | 特に時間に敏感なアプリケーションやテストを行う際に、時間操作をより制御しやすくするための強力なツールです。これにより、開発者は時間に依存する処理をより安全かつ一貫して扱うことができ、特定の時刻や時間の流れを自由に操作できるようになります。 |
17.COLLECTION Libraries
Dartの標準コレクションライブラリに追加して、より洗練されたデータ構造とユーティリティを提供するDartのライブラリです。このパッケージは、リスト、マップ、セットの操作を拡張し、特に複雑なコレクション操作を簡単に処理できるように設計されています。
collection | リスト操作、マップとセットの強化、マルチマップとマルチセット、ビジターパターンのサポート、追加のユーティリティ関数 |
以下は非推奨となっています。
代わりに collection.dart をインポートするようにとの注意が示されています。
アルゴリズム関連の機能 | |
equality | 等価性をチェックするためのツール |
複数のイテラブルを同時にループするための機能 | |
優先度キューに関連する機能 | |
オブジェクトに追加の機能 |
18.CRYPTO Libraries
Dart用の暗号化ユーティリティを提供するライブラリです。これには、ハッシュ関数、ハッシュメッセージ認証コード(HMAC)、および他の暗号化機構が含まれており、データのセキュリティを強化するために使用されます。
crypto | ハッシュ関数、HMAC、デジタル署名、ランダムなバイトの生成 |
19.FAKE_ASYNC Libraries
Dartで時間に依存するコード、特に非同期操作をテストする際に、時間の流れを模擬(フェイク)するためのツールを提供します。このライブラリを使用することで、テスト実行中に時間を制御し、非同期操作が予想通りに動作するかを確認できます。
fake_async | 時間を操作できる強力なツールとして、非同期コードのテストを簡単かつ効率的に行うために非常に有用です。テスト中に時間を完全に制御することで、非同期処理の動作を確実に予測し、バグの特定と修正を容易にします。 |
20.FILE Libraries
Dartでファイルシステムの抽象化と操作を行うためのフレームワークです。このライブラリは、さまざまな種類のファイルシステムに対応するためのインターフェースと実装を提供し、プラットフォームに依存しない方法でファイル操作を行うことが可能になります。
chroot | 他の FileSystem を指定したパスを通じてビューとして提供するファイルシステムです。これにより、アプリケーションはそのパス以下のファイルシステムに対して隔離されたビューを持つことができ、セキュリティやテストの文脈で有用です。 |
file | FileSystem インターフェースの定義と、ファイルシステムを使用する際に必要とされるすべての型の抽象定義を含んでいます。これは、ファイル操作の基本的なフレームワークを提供し、具体的なファイルシステム実装の基盤となります。 |
local | ローカルファイルシステムの実装です。dart:io を使用しており、ブラウザでは使用できません。主にサーバーやコマンドラインベースのアプリケーションで利用され、物理的なディスク上のファイルにアクセスします。 |
memory | 完全にメモリ内で存在するファイルシステムの実装であり、内部表現はファイルシステム階層標準に基づいて緩く設計されています。テストや一時的なデータの保存に適しており、実際のファイル操作をエミュレートしつつ、ディスクへの書き込みは行いません。 |
21.INTEGRATION_TEST Libraries
Flutterアプリケーションの統合テストをサポートするためのフレームワークです。このライブラリは、Flutterのテストエコシステムの一部として、実際のデバイスやエミュレータ上でアプリケーションが期待通りに動作するかを検証するために使用されます。
common | 統合テストのための共通の機能やユーティリティを提供します。これには、テストの設定、結果の収集、およびテストデータの管理が含まれます。また、テストケース間で共有される機能やデータの定義が含まれることもあります。 |
integration_test | 統合テストの主要なエンジンを提供します。このモジュールを使用して、ウィジェットテストと同様のAPIを使いながら、フルアプリケーションの実行環境でテストを行います。テストはアプリケーションのUIとそのインタラクションをシミュレートし、エンドツーエンドのワークフローを検証することができます。 |
integration_test_driver | 統合テストのためのドライバーを提供します。このドライバーは、テスト実行のコーディネーションと、テスト結果の収集・報告を行います。また、Flutter Driver APIを使用してデバイスやエミュレータとの通信を管理し、テストコマンドの送受信を行います。 |
integration_test_driver_extended | integration_test_driver の拡張版で、追加の機能やカスタマイズオプションを提供します。より複雑なテストシナリオや特定のカスタム要件に対応するための追加機能が含まれています。このモジュールは、大規模なアプリケーションや特殊なテストニーズに対応するために使われることが多いです。 |
22.INTL Libraries
国際化と地域化(i18n and l10n)をサポートするためのDartのライブラリで、メッセージのフォーマット、日付や数値のフォーマットと解析、および双方向テキストの扱いなどを含んでいます。このライブラリは、アプリケーションを多言語対応させる際に重要な役割を果たします。
date_symbol_data_custom | カスタム方法で日付/時間のフォーマットを設定するAPIを提供します。 |
date_symbol_data_file | ファイルシステム内のファイルからロケールデータを読み込むために必要です。このファイルと date_format.dart をインポートする必要があります。 |
date_symbol_data_http_request | WebサーバーへのHTTPリクエストを通じてロケールデータを読み込むために使用します。このファイルと date_format.dart をインポートする必要があります。 |
date_symbol_data_local | すべてのロケールの日付/時間フォーマット記号です。 |
date_symbols | 大部分のロケールに対する日付/時間フォーマット記号を提供します。 |
date_time_patterns | 大部分のロケールに対する日付/時間フォーマットパターンです。 |
find_locale | ロケールを見つけるためのユーティリティ関数です。 |
intl | 国際化と地域化の主要なライブラリで、メッセージのフォーマット、日付や数値のフォーマットと解析、双方向テキストのサポートを含みます。 |
intl_default | デフォルトの国際化設定を提供します。 |
intl_standalone | スタンドアロンで実行される際にのみ利用可能な国際化機能を提供します。このモジュールまたは intl_browser.dart のどちらか一方のみをインポートする必要があります。現時点で提供されている機能は、オペレーティングシステムのロケールを見つけることです。 |
locale | Locale クラスへのアクセスを提供します。 |
message_format | ユーザーに表示するための文字列を準備し、オプションの引数(変数/プレースホルダー)を含めることができます。言語によって文法が異なるため、引数が任意の順序で発生する必要があります。複数形や選択オプションを表す構文をサポートします。 |
message_lookup_by_library | ロケールサポート付きのメッセージ/複数形フォーマットライブラリです。ローカライズされたメッセージのバージョンを見つけるメカニズムに基づいて異なる実装があります。このバージョンでは、initializeMessages 呼び出しで設定されたプレフィックスを持つライブラリ(例: ‘messages_en_US’)にメッセージが含まれていることが期待されます。 |
number_symbols | すべてのロケールの数値フォーマット記号です。 |
number_symbols_data | すべてのロケールの日付/時間フォーマット記号です。 |
23.LEAK_TRACKER Libraries
アプリケーションでのメモリリークを検出し、分析するためのツールを提供します。このライブラリは特に開発ツールと連携して、リソースの不適切な管理やメモリの使用状況に関する洞察を得ることを目的としています。
devtools_integration | 開発者ツール(DevTools)が収集したリークデータを分析するために使用される部分です。このライブラリはDevToolsと連携して動作し、メモリリークの原因を特定するための詳細情報を提供します。 |
leak_tracker | アプリケーション内の潜在的なメモリリークを追跡し、識別する主要な機能を持つモジュールです。このツールは、メモリの割り当てと解放を監視し、期待される挙動から逸脱するパターンを検出することでリークを特定します。 |
24.LEAK_TRACKER_TESTING Libraries
アプリケーションのテストフェーズにおいてメモリリークを特定し、追跡するために設計されたツールです。このライブラリはテスト環境でのリーク検出を自動化し、開発者がリークを効果的に識別し、修正することを支援します。
leak_tracker_testing | 自動リーク検出、リークレポート、統合テストサポート |
25.MATCHER Libraries
Dartのテストフレームワークの中で使われる、テスト期待値(expectations)を指定するためのサポートを提供します。このライブラリを使用することで、単体テストにおけるアサーションを簡潔かつ表現豊かに記述できます。
expect | テストケースにおける実際の値と期待される値を比較します。期待通りの結果でない場合、テストは失敗として報告されます。この関数は、値の一致、型チェック、例外の発生など、さまざまな条件をテストするために使われます。 |
matcher | さまざまな種類のマッチャーオブジェクトを提供し、特定のテスト条件を表現します。例えば、数値が特定の範囲に含まれるか、コレクションが特定の要素を含むか、あるオブジェクトが特定の型であるかなど、詳細な検証が可能です。 |
26.MATERIAL_COLOR_UTILITIES Libraries
色に関する高度なユーティリティとアルゴリズムを提供し、マテリアルデザインのガイドラインに沿った色の選定や調整を行うためのものです。このライブラリは、カラーパレットの生成、色の調和、コントラストの最適化など、広範な機能を含んでいます。
27.META Libraries
Dartプログラムのメタデータを定義し、特定のプログラム意図を表現するためのアノテーションを提供します。このライブラリは、静的解析だけでは推測できないプログラマの意図を明確化することで、より明確で安全なコードの記述を支援します。
dart2js | dart2js 関連のアノテーションは、dart compile js コマンドによって使用される Dart to JavaScript コンパイラにヒントを提供します。これにより、JavaScriptへのコンパイルプロセスが最適化され、特定の動作が強化されます。 |
meta | meta モジュールは、開発者が静的解析だけでは判断できないコードの意図を表現するために使用するアノテーションを含んでいます。例えば、特定のメソッドがオーバーライドされるべきでない、あるいは特定のクラスが直接インスタンス化されるべきでないことを示すために使用されます。 |
meta_meta | meta_meta モジュールは、他のアノテーションの使用意図を説明するメタアノテーションを提供します。これにより、アノテーション自体の設計と文書化が助けられ、アノテーションの正しい使用方法が明確になります。 |
28.PATH Libraries
Dartでファイルパスを操作するための包括的なクロスプラットフォームライブラリです。このライブラリは、さまざまなオペレーティングシステム上で一貫した方法でパスを処理するためのAPIを提供します。
path | パスの結合、パスの正規化、パスの分割、絶対パスの取得、パスの拡張子の操作 |
29.PLATFORM Libraries
Dartで実行されているプラットフォームに関する情報を提供するためのライブラリです。このライブラリを利用することで、アプリケーションは現在実行中のオペレーティングシステムやその他の環境情報に基づいて条件付きの動作を行うことができます。
platform | OSの識別、実行環境の詳細、アーキテクチャ情報、ロケール情報 |
30.PROCESS Libraries
Dartで外部プロセスを起動し、管理するための機能を提供します。このライブラリを使用することで、Dartアプリケーションからシェルコマンドを実行したり、他のプログラムを起動してその出力を管理することができます。
process | プロセスの起動、コマンド実行、プロセスの管理、非同期処理 |
31.SOURCE_SPAN Libraries
Dartでソースコードの特定の部分を表すための機能を提供します。このライブラリを利用することで、エラー報告、デバッグ、コード解析ツールなどで、ソースコードの正確な位置を識別し、ユーザーに視覚的に理解しやすい情報を提供できます。
source_span | 位置情報の表現、エラーと警告の強化、リッチなテキスト報告 |
32.STACK_TRACE Libraries
Dartでスタックトレースをより詳細に操作し、整形するための機能を提供します。このライブラリを使用することで、エラー発生時のスタックトレースの解析や表示をカスタマイズでき、デバッグプロセスを効率化することができます。
stack_trace | スタックトレースのキャプチャ、スタックトレースの解析、スタックトレースのフィルタリング |
33.STREAM_CHANNEL Libraries
Dartでの双方向の非同期データ通信を抽象化するためのツールを提供します。このライブラリは、ストリームとシンクを組み合わせたチャネルを通じて、データの送受信を簡単に行うことができます。
isolate_channel | Dartのアイソレート間でメッセージを送受信するためのストリームチャネルを提供します。アイソレートはDartの軽量スレッドであり、このチャネルを使用することで、異なるアイソレート間でのデータの非同期交換が容易になります。 |
stream_channel | ストリームとシンクを組み合わせて双方向の通信チャネルを形成するためのインターフェースと実装を提供します。これにより、Webソケットや他の双方向通信プロトコルを抽象化し、異なる環境間でのデータ通信を統一的に扱うことができます。 |
34.STRING_SCANNER Libraries
Dartで文字列をパースするためのツールを提供します。このライブラリを使用することで、文字列を一連のパターンや規則に基づいて効率的に解析できます。これは、複雑なテキストデータから特定の情報を抽出する際に特に有用です。
string_scanner | パターンマッチング、エラー報告、位置の追跡、抽出と変換 |
35.SYNC_HTTP Libraries
Dartで同期的なHTTPリクエストを行うための機能を提供します。このライブラリは、通常の非同期HTTPリクエストとは異なり、リクエストが完了するまでプログラムの実行をブロックします。これにより、特定のシナリオでシンプルなコーディングが可能となりますが、同時にアプリケーションのレスポンス性が低下する可能性もあるため、使用には注意が必要です。
sync_http | 同期リクエスト、シンプルなコードフロー、エラーハンドリング |
36.TERM_GLYPH Libraries
Dartでターミナルアプリケーションを開発する際に、UnicodeとASCII文字を使い分けるための機能を提供します。このライブラリは、ターミナルやコンソールがUnicodeをサポートしていない場合にフォールバックとしてASCII文字を使用することで、クロスプラットフォームの視覚的表現の一貫性を保ちます。
term_glyph | UnicodeとASCIIの間での切り替え、視覚的一貫性の維持、簡単な統合 |
37.TEST_API Libraries
Dartでテストを構築し、実行するためのフレームワークを提供します。各コンポーネントは、テストプロセスの異なる部分をサポートするために設計されています。
backend | テストバックエンドとして機能し、テスト実行の管理やテスト結果の収集を行うコンポーネントです。テストケースのロード、実行、およびレポーティングのプロセスを担います。 |
hooks | テストライフサイクルの特定の時点でカスタムロジックを実行するためのhooksを提供します。例えば、テスト前後に特定のセットアップやクリーンアップ処理を行う場合に使用します。 |
hooks_testing | hooks自体の挙動をテストするためのツールやフレームワークを提供する可能性があります。これにより、開発者はフックが正しく機能することを確認できます。 |
scaffolding | テスト環境を構築するための支援ツールを提供します。これには、テストプロジェクトのテンプレート生成や、テストケースの初期構造のセットアップなどが含まれる可能性があります。 |
以下は非推奨です。
テストで使用するためのモックやスタブのような偽の実装を提供します。 | |
テストAPI自体に関するコンポーネント。 |
38.TYPED_DATA Libraries
Dartで効率的なデータ操作を支援するために設計されたツールとユーティリティを提供します。これには、固定サイズおよび可変サイズの型付きデータ構造が含まれます。特に、数値データを扱う際のパフォーマンスとメモリ効率を向上させることを目的としています。
typed_buffers | 可変サイズの型付きデータリストを提供します。これにより、開発者は静的型付けの利点を保持しつつ、データのサイズが動的に変更される場合に対応できます。例えば、バイト、整数、浮動小数点数など、異なる型のデータに対応するためのバッファが用意されています。 |
typed_data | dart:typed_data ライブラリに関連するユーティリティや機能を提供します。これには、バイトバッファ、型付きリスト、型付きビューなど、固定サイズの型付きデータ構造の操作を支援するツールが含まれます。 |
39.VECTOR_MATH Libraries
ゲーム、シミュレーション、レンダリングなどの用途で使用されるベクトル演算を提供するDartのライブラリです。このライブラリは、効率的な数学計算をサポートし、特に3Dグラフィックスや物理エンジンでの使用に最適化されています。
vector_math | ゲーム、シミュレーション、レンダリングのためのベクトル演算を提供します。ベクトルの加算、減算、スカラー乗算、正規化、内積、外積などが含まれます。 |
vector_math_64 | vector_math と同様の機能を提供しますが、64ビット浮動小数点精度を使用します。これにより、より高精度の計算が求められるアプリケーションに適しています。 |
vector_math_geometry | ジオメトリ生成器(CubeGenerator、SphereGenerator、CylinderGeneratorなど)とフィルタ(BarycentricFilter、ColorFilter、InvertFilterなど)を含むライブラリです。これにより、3Dオブジェクトの生成や属性の変更が容易になります。 |
vector_math_lists | ベクトルのリストをメモリ効率的に扱うためのツールを提供します。これにより、大量のベクトルデータを処理する際のパフォーマンスが向上します。 |
vector_math_operations | Float32List インスタンスに対するマトリックス演算を、Matrix44SIMDOperations は Float32x4List インスタンスに対するSIMD最適化された演算を提供します。これにより、マトリックスの変換や操作が高速に行えます。 |
以下は非推奨です。
ベクトルやマトリックスオブジェクトのハッシュ関数を提供します。これにより、これらのオブジェクトを効率的にデータ構造に格納し、検索することが可能です。 |
40.VM_SERVICE Libraries
Dart VM (Virtual Machine) と通信するためのAPIを提供します。これにより、開発者はDartの仮想マシンの状態を検査したり、デバッグ操作を行ったりすることができます。主にIDEや開発ツールがVMのデバッグセッションを管理するために使用されます。
utils | vm_service APIを使用する際に役立つユーティリティ関数や補助的なツールを提供します。これには、データの整形やコマンドのラッピングなど、APIの操作を簡単にするための機能が含まれる可能性があります。 |
vm_service | Dart VMとの通信インターフェースを直接提供します。プログラムの実行を制御したり、メモリやスレッドの情報を取得したり、断点を設定するなど、デバッグに必要なさまざまな機能が含まれています。 |
vm_service_io | IO(入出力)機能に特化したvm_service の拡張です。これにより、ファイルシステムやネットワークを介したデータの読み書き、ストリームの管理など、IO操作に関連するVMの機能にアクセスできます。 |
41.WEBDRIVER Libraries
ブラウザ自動化のためのDartライブラリです。このライブラリを利用して、開発者はWebアプリケーションのテストや、自動化されたブラウジングタスクを実行できます。WebDriver APIに基づいており、さまざまなブラウザとのインタラクションを可能にします。
async_core | 非同期操作に特化したWebDriverのコア機能を提供します。非同期プログラミングモデルに従い、DartのFutureやStreamを利用してブラウザの操作を行います。 |
async_html | HTML要素の非同期操作をサポートします。これには、要素の探索、属性の取得、イベントの発火などが含まれます。 |
async_io | IO操作(入出力)に特化した非同期サポートを提供します。ファイルやネットワークリソースへの非同期アクセスが可能です。 |
support/async | 非同期サポートモジュールで、テストやその他の自動化タスクを助ける追加機能を提供します。 |
support/firefox_profile | Firefoxブラウザのプロファイルを管理するためのサポートモジュールです。カスタム設定や拡張機能の管理に使用します。 |
support/stdio_stepper | 標準入出力をステップバイステップで制御するためのサポートツールを提供します。 |
sync_core | 同期操作に特化したWebDriverのコア機能を提供します。直列的なコマンド実行が可能です。 |
sync_io | 同期IO操作をサポートするモジュールです。 |