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!
Contents
Client Web App Frameworks
- AngularDart - AngularDart is a development platform for building mobile and desktop web applications.
- 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.
- VueDart - Create Vue web apps using Dart, a progressive, incrementally-adoptable framework for building Web UIs.
Server Frameworks
- Jaguar - A server framework built for speed, simplicity and extensibility.
- Angel - Angel is a server-side framework designed for full-stack development, with an emphasis on code sharing, scalability, and a low learning curve.
- Aqueduct - Aqueduct is a fully-featured server-side framework, with an ORM, database migration tools, OAuth 2.0 implementation, automatic OpenAPI specification generation and multi-threading support.
- Redstone - Redstone is a server-side, metadata driven micro-framework for Dart.
- 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.
Game Development
- Flame - A minimalist Flutter game engine.
- StageXL - StageXL offers an easy to use and complete API (based on the Flash API) for impressive 2D content like games and other rich applications.
- 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
- mustache4dart - A simple implementation of Mustache.
- jaded - Port of the excellent Jade view engine.
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.
- dartabase_model - Serverside Database Object Models for simple data manipulation using MySQL/PGSQL without having to write SQL.
- dartabase_migration - Serverside Database migration for simple version controlled database structure manipulation using MySQL/PGSQL without having to write SQL.
Package Managers
- Pub - Pub is used to manage packages.
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.
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.
Tools
- Observatory - Observatory is a tool for profiling and debugging your Dart applications.
- 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.
Tutorials
- Hello Dart - A playful introduction to Dart.
- Darrrt - Web app code lab.
- 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.
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.
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.