Awesome Dart Overview
A curated list of awesome Dart frameworks, libraries, and software
🏠 Home · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 yissachar/awesome-dart · ⭐ 2.2K · 🏷️ Programming Languages
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 (⭐268k) 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 (⭐2.2k); you rock!
Contents
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 (⭐458) - A server framework built for speed, simplicity and extensibility.
- Start (⭐531) - 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 (⭐59) - Framework with built-in server runtime environment and middleware system.
- Rikulo Stream (⭐233) - Lightweight web server with request routing, filtering, template engine, WebSocket, MVC design pattern, and file-based static resources.
- Alfred (⭐500) - Minimal ExpressJS-inspired server with routing and middlware.
- Dart Frog (⭐1.5k) - 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 (⭐272) - A framework for describing and verifying hardware.
Cross-platform development
- universal_io (⭐82) - dart:io that also works in the browser.
- universal_html (⭐170) - dart:html that also works in the VM/Flutter.
Game Development
- Flame (⭐8.1k) - 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 (⭐52) - DartRocket is a HTML5 game framework written in Dart and which uses the StageXL rendering engine.
- Pixi Dart (⭐36) - A port of the pixi.js rendering engine.
- Ranger (⭐25) - A game engine centered around HTML5 Canvas and a scene graph.
Animation
- Universal Tween Engine (⭐33) - A port of the original java Universal Tween Engine created by Aurelien Ribbon.
- Spine Dart (⭐19) - An implementation of the Esoteric Software Spine runtime.
Template
- mustache_template - A mustache template library that supports dart2js and dart2native.
- jaded (⭐42) - Port of the excellent Jade view engine.
- mason (⭐806) - Tools which allow developers to create and consume reusable templates called bricks.
Database
- Postgres (⭐130) - A PostgreSQL database driver that uses the extended, binary protocol for more efficient and secure queries.
- SQLJockey (⭐20) - MySQL connector.
- PostgreSQL (⭐84) - 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 (⭐270) - Immutable collections via the builder pattern.
- built_value (⭐842) - 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 (⭐953) - A set of utility libraries that makes using many libraries easier and more convenient, or adds additional functionality.
- route_hierarchical (⭐29) - 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 (⭐154) - A Dart library containing convenient extension methods on basic Dart objects.
Dependency Injection
- Angular DI - Dependency Injection framework by Angular.
- Dependencies (⭐30) - A simple and modular dependency injection system which doesn't use mirrors.
- package: inject (⭐867) - Compile-time dependency injection for Dart and Flutter
Parsers
- html - A library for working with HTML documents. Previously known as html5lib.
- markdown (⭐409) - Parse markdown into HTML on both the client and server.
- PetitParser (⭐419) - 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 (⭐65) - String validation and sanitization for Dart.
ORM
- Objectory (⭐55) - Objectory provides typed, checked environment to model, save and query data persisted on MongoDb.
Image
- image (⭐1k) - 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 (⭐43) - 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 (⭐1.6k) - Code generation for immutable classes that has a simple syntax/API without compromising on the features.
Crash monitoring
- Sentry (⭐672) - 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 (⭐60) - compiles Javascript code to Dart.
- Stagehand (⭐660) - 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 (⭐4) - A gulp plugin for compiling Dart code to JavaScript using dart2js.
- dev_compiler (⭐136) - 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 (⭐11) - A proxy wrapper around webdev (⭐205) which adds support for rerouting 404s to the index, allowing for HTML push-based routing while running locally.
- Dart Code Metrics (⭐863) - Additional linter which reports code metrics, checks for anti-patterns and provides additional rules for Analyzer.
- m2cgen (⭐2.6k) - 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 (⭐263) - Sublime Text 3 Dart Package.
- Emacs Plugin (⭐9) - An Emacs mode for the Dart language.
- Vim Plugin (⭐626) - 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 (⭐23) - 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 (⭐2.2k) first.