Awesome Dart ¶
A curated list of awesome Dart frameworks, libraries, and software. Items on the list are actively maintained, well documented, and popular in the Dart community. Inspired by the awesome lists.
Contributing¶
Please take a quick look at the contribution guidelines first. If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you to all contributors; you rock!
- Libraries
Client Web App Frameworks¶
- AngularDart Community - Community-maintained AngularDart websites, packages, tools, and more!
- Flutter - Flutter is a framework to build high-performance, cross-platform mobile apps, allowing applications to be written for Android, iOS and Web Apps.
- MDL/Dart - Material Design Lite for Dart is a framework of components for web developers based on Google's Material Design philosophy.
- OverReact - A library for building statically-typed React UI components.
Server Frameworks¶
- Jaguar - A server framework built for speed, simplicity and extensibility.
- Start - Sinatra inspired web framework to serve static files, handle dynamic requests, websockets and create JSON responses.
- Shelf - Shelf makes it easy to create and compose web servers and parts of web servers.
- There are many packages written for Shelf. By convention they start with shelf_.
- Vane - Framework with built-in server runtime environment and middleware system.
- Rikulo Stream - Lightweight web server with request routing, filtering, template engine, WebSocket, MVC design pattern, and file-based static resources.
- Alfred - Minimal ExpressJS-inspired server with routing and middlware.
- Dart Frog - A fast, minimalistic backend framework for Dart.
Web Frameworks¶
- Jaspr - Jaspr is an modern web framework for building websites in Dart with support for both client-side and server-side rendering.
Other Frameworks¶
- Rapid Open Hardware Development (ROHD) Framework - A framework for describing and verifying hardware.
Cross-platform development¶
- universal_io - dart:io that also works in the browser.
- universal_html - dart:html that also works in the VM/Flutter.
Game Development¶
- Flame - A minimalist Flutter game engine.
- DartRocket - DartRocket is a HTML5 game framework written in Dart and which uses the StageXL rendering engine.
- Pixi Dart - A port of the pixi.js rendering engine.
- Ranger - A game engine centered around HTML5 Canvas and a scene graph.
Animation¶
- Universal Tween Engine - A port of the original java Universal Tween Engine created by Aurelien Ribbon.
- Spine Dart - An implementation of the Esoteric Software Spine runtime.
Template¶
- mustache_template - A mustache template library that supports dart2js and dart2native.
- jaded - Port of the excellent Jade view engine.
- mason - Tools which allow developers to create and consume reusable templates called bricks.
Database¶
- Postgres - A PostgreSQL database driver that uses the extended, binary protocol for more efficient and secure queries.
- SQLJockey - MySQL connector.
- PostgreSQL - PostgreSQL database driver.
Package Managers¶
- Pub - Pub is used to manage packages.
- Cloudsmith - A fully managed package management SaaS, with support for Dart, Flutter, and much more. [Free for Public/OSS] [$]
Utilities¶
- Archive - A library to encode and decode various archive and compression formats.
- built_collection - Immutable collections via the builder pattern.
- built_value - Immutable value types, enum classes, and serialization.
- Frappe - A functional reactive programming library for Dart. Frappé extends the functionality of Dart's streams, and introduces new concepts like properties/signals.
- Quiver - A set of utility libraries that makes using many libraries easier and more convenient, or adds additional functionality.
- route_hierarchical - Route is a client routing library for Dart that helps make building single-page web apps.
- Darq - A port of functional LINQ from the .NET library.
- Basics - A Dart library containing convenient extension methods on basic Dart objects.
Dependency Injection¶
- Angular DI - Dependency Injection framework by Angular.
- Dependencies - A simple and modular dependency injection system which doesn't use mirrors.
- package: inject - Compile-time dependency injection for Dart and Flutter
Parsers¶
- html - A library for working with HTML documents. Previously known as html5lib.
- markdown - Parse markdown into HTML on both the client and server.
- PetitParser - PetitParser combines ideas from scannerless parsing, parser combinators, parsing expression grammars and packrat parsers to model grammars and parsers as objects that can be reconfigured dynamically.
- XML - A lightweight library for parsing, traversing, querying and building XML documents.
- xmlstream - A streaming event-based XML Parser.
- YAML - A parser for YAML.
- Dart Tags - The library for parsing ID3 tags, written in pure Dart.
Validation¶
- Constrain - Provides a constraint based Validation library inspired by Java Bean Validation but leveraging the superior language capabilities of Dart.
- validator.dart - String validation and sanitization for Dart.
ORM¶
- Objectory - Objectory provides typed, checked environment to model, save and query data persisted on MongoDb.
Image¶
- image - Provides server and web apps the ability to load, manipulate, and save images with various image file formats including PNG, JPEG, GIF, WebP, TIFF, TGA, PSD, PVR, and OpenEXR.
Testing¶
- Guinness - A port of the Jasmine library.
- test - Provides a standard way of writing and running tests in Dart.
- spec - A streamlined testing framework for Dart & Flutter.
Unions¶
- Freezed - Code generation for immutable classes that has a simple syntax/API without compromising on the features.
Crash monitoring¶
- Sentry - Sentry provides self-hosted and cloud-based error monitoring that helps all software teams discover, triage, and prioritize errors in real-time.
Tools¶
- DevTools - a suite of debugging and performance tools for Dart and Flutter.
- dart2js - compiles Dart code to JavaScript.
- js2dart - compiles Javascript code to Dart.
- Stagehand - A project scaffolding generator, inspired by tools like Web Starter Kit and Yeoman.
- Crossdart - Cross-referenced source code of the packages from Pub.
- Crossdart Github Chrome Extension - Adds "Go to declaration" and "Find Usages" functionality to your Dart projects on Github (both in tree views and pull requests).
- gulp-dart - A gulp plugin for compiling Dart code to JavaScript using dart2js.
- dev_compiler - Dart to JavaScript compiler designed to create idiomatic, readable JavaScript output.
- json2dart - Given a json, it generates the dart classes to parse and generate json with given structure.
- webdev_proxy - A proxy wrapper around webdev which adds support for rerouting 404s to the index, allowing for HTML push-based routing while running locally.
- Dart Code Metrics - Additional linter which reports code metrics, checks for anti-patterns and provides additional rules for Analyzer.
- m2cgen - A CLI tool to transpile trained classic ML models into a native Dart code with zero dependencies.
- Lakos - Visualize internal library dependencies in Graphviz and detect dependency cycles.
Multithreading¶
- isolator - Isolator offer to you a simple way for creating two-component states with isolated part and frontend part of any kind - BLoC, MobX, ChangeNotifier and others
Tutorials¶
- Hello Dart - A playful introduction to Dart.
- Getting Started with Dart & React
- Tour of Heroes - An app which covers the core fundamentals of AngularDart.
- Dart for beginner - Dart Chinese tutorial for beginner.
- Resolving Dart package version conflicts, faster than ever - How to use any package version in pub to resolve package version conflicts.
Community¶
- Dartlang SubReddit
- Gitter Chat Channel
- Google Group
- Stack Overflow
- Facebook Group (pt-BR)
- Telegram chat (ru-RU)
- Telegram chat (id-ID)
IDEs, Editors, and Plugins¶
- IntelliJ Plugin - Dart plugin from JetBrains for WebStorm, IntelliJ IDEA, PhpStorm, PyCharm, and RubyMine.
- Sublime Text Package - Sublime Text 3 Dart Package.
- Emacs Plugin - An Emacs mode for the Dart language.
- Vim Plugin - Syntax highlighting for Dart in Vim.
- Atom Plugin - Dart support for Atom.
- VSCode Plugin - Dart support for Visual Studio Code.
- DartPad - Online lightweight editor.
- Dart Code - Dart support for Visual Studio Code.
- Module Linker - Chrome Extension that adds direct links to module import statements on GitHub.
- Dart Barrel File Generator - VSCode extension that generates barrel files for Dart projects.
Everything Else¶
There are lots of awesome libraries being added to Pub all the time. If you can't find a library on this list that meets your needs, go ahead and search for it on Pub. And if you end up finding an awesome library, we would love a pull request with the info so that everyone else can discover it as well. Just make sure to read the contributing guidelines first.