Awesome Dart
Curated list of the most awesome Dart 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.
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.
- 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
- 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
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.