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.
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!
- Client Web App Frameworks
- Server Frameworks
- Game Development
- Package Managers
- Dependency Injection
- IDEs, Editors, and Plugins
- Everything Else
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.
- 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.
- 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.
- 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.
- mustache_template - A mustache template library that supports dart2js and dart2native.
- jaded - Port of the excellent Jade view engine.
- 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.
- Pub - Pub is used to manage packages.
- 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.
- 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
- 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.
- 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.
- Objectory - Objectory provides typed, checked environment to model, save and query data persisted on MongoDb.
- 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.
- Guinness - A port of the Jasmine library.
- test - Provides a standard way of writing and running tests in Dart.
- Freezed - Code generation for immutable classes that has a simple syntax/API without compromising on the features.
- Sentry - Sentry provides self-hosted and cloud-based error monitoring that helps all software teams discover, triage, and prioritize errors in real-time.
- DevTools - a suite of debugging and performance tools for Dart and Flutter.
- 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).
- 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.
- 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.
- 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.
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.