このページの内容

Awesome Dart

Dartを扱う資料や関連プロジェクトをまとめたAwesomeリストです。 上流ではアーカイブ済み、または更新終了と案内されています。

目次


クライアントWebアプリフレームワーク

  • AngularDart Community - コミュニティが保守するAngularDartのWebサイト、パッケージ、ツールなど。
  • Flutter - Android、iOS、Webアプリ向けに記述できる、高性能なクロスプラットフォーム・モバイルアプリ構築フレームワーク。
  • MDL/Dart - GoogleのMaterial Design思想に基づく、Web開発者向けDartコンポーネントフレームワークMaterial Design Lite。
  • OverReact - 静的型付きReact UIコンポーネントを構築するライブラリ。

サーバーフレームワーク

  • Jaguar - 速度、単純さ、拡張性を重視したサーバーフレームワーク。
  • Start - 静的ファイル配信、動的リクエスト、WebSocket、JSONレスポンス作成に対応するSinatra風Webフレームワーク。
  • Shelf - Webサーバーとその部品を簡単に作成・合成。
    • Shelf向けパッケージは多数あり、慣例としてshelf_.
  • Vane - サーバー実行環境とミドルウェアシステムを内蔵するフレームワーク。
  • Rikulo Stream - リクエストルーティング、フィルタリング、テンプレートエンジン、WebSocket、MVC設計パターン、ファイルベース静的リソースを備えた軽量Webサーバー。
  • Alfred - ルーティングとミドルウェアを備えた最小限のExpressJS風サーバー。
  • Dart Frog - Dart向けの高速で最小限のバックエンドフレームワーク。

Webフレームワーク

  • Jaspr - クライアント側とサーバー側の両レンダリングに対応し、DartでWebサイトを構築する現代的なWebフレームワーク。

その他のフレームワーク

クロスプラットフォーム開発

ゲーム開発

  • Flame - 最小限のFlutterゲームエンジン。
  • StageXL - Flash APIを基にし、ゲームやその他のリッチアプリケーションなど印象的な2Dコンテンツ向けの使いやすく完全なAPIを提供。
  • DartRocket - Dartで記述され、StageXL描画エンジンを使うHTML5ゲームフレームワーク。
  • Pixi Dart - pixi.js描画エンジンの移植版。
  • Ranger - HTML5 Canvasとシーングラフを中心とするゲームエンジン。

アニメーション

  • Universal Tween Engine - Aurelien Ribbonが作成した元のJava Universal Tween Engineの移植版。
  • Spine Dart - Esoteric Software Spineランタイムの実装。

テンプレート

  • mustache_template - dart2jsとdart2nativeに対応するMustacheテンプレートライブラリ。
  • jaded - 優れたJade View Engineの移植版。
  • mason - Brickと呼ばれる再利用可能なテンプレートを開発者が作成・利用するためのツール。

データベース

  • Postgres - より効率的で安全なクエリのため拡張バイナリプロトコルを使うPostgreSQLデータベースドライバー。
  • SQLJockey - MySQLコネクター。
  • PostgreSQL - PostgreSQLデータベースドライバー。

パッケージ管理

  • Pub - パッケージ管理に使用。
  • Cloudsmith - Dart、Flutterなどに対応する完全マネージド型パッケージ管理SaaS。[公開/OSSは無料] [$]

ユーティリティ

  • Archive - 各種アーカイブ・圧縮形式をエンコード、デコードするライブラリ。
  • built_collection - Builderパターンによる不変コレクション。
  • built_value - 不変値型、enumクラス、シリアライズ。
  • Frappe - Dart向け関数型リアクティブプログラミングライブラリ。DartのStream機能を拡張し、Property/Signalなどの新概念を導入。
  • Quiver - 多くのライブラリをより簡単・便利に使えるようにする、または追加機能を提供するユーティリティライブラリ群。
  • route_hierarchical - シングルページWebアプリを構築しやすくするDart向けクライアントルーティングライブラリ。
  • Darq - .NETライブラリの関数型LINQ移植版。
  • Basics - Dartの基本オブジェクトへ便利な拡張メソッドを提供するライブラリ。

依存性注入

  • Angular DI - Angularによる依存性注入フレームワーク。
  • Dependencies - Mirrorを使わないシンプルでモジュール式の依存性注入システム。
  • package: inject - DartとFlutter向けコンパイル時依存性注入。

パーサー

  • html - HTML文書を扱うライブラリ。旧称html5lib。
  • markdown - クライアントとサーバーの両方でMarkdownをHTMLへ解析。
  • PetitParser - スキャナーレス解析、パーサーコンビネーター、構文解析表現文法、Packrat Parserの考え方を組み合わせ、動的に再構成可能なオブジェクトとして文法とパーサーをモデル化。
  • XML - XML文書を解析、走査、照会、構築する軽量ライブラリ。
  • xmlstream - ストリーミング型イベントベースXMLパーサー。
  • YAML - YAMLパーサー。
  • Dart Tags - 純粋なDartで記述されたID3タグ解析ライブラリ。

検証

  • Constrain - Java Bean Validationに着想を得ながら、Dartの優れた言語機能を活用する制約ベース検証ライブラリ。
  • validator.dart - Dart向け文字列検証とサニタイズ。

ORM

  • Objectory - MongoDBへ永続化したデータをモデル化、保存、照会する型付き・検査済み環境を提供。

画像

  • image - PNG、JPEG、GIF、WebP、TIFF、TGA、PSD、PVR、OpenEXRなど各種画像形式をサーバー・Webアプリで読み込み、操作、保存できるようにする。

テスト

  • Guinness - Jasmineライブラリの移植版。
  • test - Dartでテストを記述・実行する標準的な方法を提供。
  • spec - DartとFlutter向けの合理化されたテストフレームワーク。

Union

  • Freezed - 機能を損なわず、シンプルな構文/APIで不変クラスのコードを生成。

クラッシュ監視

  • Sentry - すべてのソフトウェアチームがエラーをリアルタイムに発見、分類、優先順位付けできる、セルフホスト・クラウド型エラー監視。

ツール

  • DevTools - DartとFlutter向けデバッグ・性能ツールスイート。
  • dart2js - DartコードをJavaScriptへコンパイル。
  • js2dart - JavaScriptコードをDartへコンパイル。
  • Stagehand - Web Starter KitやYeomanなどのツールに着想を得たプロジェクトひな形生成器。
  • Crossdart - Pub内パッケージの相互参照付きソースコード。
  • Crossdart Github Chrome Extension - GitHub上のDartプロジェクト(ツリー表示とPull Requestの両方)へ「Go to declaration」と「Find Usages」機能を追加。
  • gulp-dart - dart2jsを使ってDartコードをJavaScriptへコンパイルするGulpプラグイン。
  • dev_compiler - 慣用的で読みやすいJavaScript出力を生成するよう設計されたDartからJavaScriptへのコンパイラー。
  • json2dart - JSONから、指定された構造のJSONを解析・生成するDartクラスを生成。
  • webdev_proxy - webdevのプロキシラッパー。404をIndexへ再ルーティングし、ローカル実行中にHTML PushStateルーティングを可能にする。
  • Dart Code Metrics - コードメトリクスの報告、アンチパターン検査、Analyzer向け追加規則を提供するリンター。
  • m2cgen - 訓練済みの古典的MLモデルを依存関係なしのネイティブDartコードへトランスパイルするCLIツール。
  • Lakos - Graphvizで内部ライブラリ依存関係を可視化し、依存関係の循環を検出。
  • FlutterTrends - pub.dev上の2万以上のFlutterパッケージについて、日次ダウンロード傾向、ランキング、リポジトリ健全性を提供。

マルチスレッド

  • isolator - 分離部分と任意種別のフロントエンド部分(BLoC、MobX、ChangeNotifierなど)からなる二部構成状態を簡単に作成。

チュートリアル

コミュニティ

IDE、エディター、プラグイン

その他すべて

Pubには常に多くの優れたライブラリが追加されています。要件を満たすライブラリがこのリストで見つからなければ、Pubで検索してください。優れたライブラリを見つけたら、ほかの人も発見できるよう、その情報を載せるPull Requestを歓迎します。まずコントリビューションガイドラインを必ずお読みください。

ライセンス

CC0