A curated list of awesome Dart frameworks, libraries, and software
Switch branches/tags
Nothing to show
Clone or download
Latest commit e6a0ed6 Jul 8, 2018
Permalink
Failed to load latest commit information.
CONTRIBUTING.md Add SDK criteria Aug 26, 2014
README.md Merge pull request #51 from davidmorgan/patch-3 Jul 8, 2018

README.md

Awesome Dart Awesome

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 and iOS.
  • 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 extensiblity.
  • 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.
  • Express - A simple, thin expressjs inspired layer around Dart's primitive HttpServer APIs.
  • 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_
  • Force - A real time web framework, embracing websockets, making communication even better
  • 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

  • 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

  • DI - Dependency Injection framework by Angular

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.

Algorithms

  • cassowary - Implements a subset of the functionality described in the Cassowary paper. Accepts constraints and updates member variables in an attempt to satisfy the same.

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.

Tutorials

Community

IDEs, Editors, and Plugins

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 guidlines first.

License

CC0