Without any further ado, let’s answer the first few questions that are likely on your mind right now:

So, what is Angel?

Angel is a server-side Web application framework for the Dart programming language. It strives to be a flexible, extensible system, to be easily scalable, and to allow as much code to be shared between clients and servers as possible. Ultimately, I believe that this approach will shorten the time it takes to build a full-stack Web application, from start to finish.

Why should I choose Angel over another Dart framework?

The first reason to choose Angel is because it is easy to learn. The API’s are well-documented and straightforward, and designed to facilitate handling requests and data imperatively (or declaratively). There are no verbose annotations to memorize (there are a few, but they are used sparingly), no additional build steps, and most importantly, no lengthy learning curve. Angel’s core API is inspired by the popular Express framework, and FeathersJS, one of its derivatives, so you’ll feel right at home writing code that is already familiar to you.

Angel also provides a wealth of plug-ins and other extensions out-of-the-box. From static files to CORS to data security, you don’t have to look very far to find solutions for common server-side concerns. See for yourself!

Another benefit of Angel is that much of your code can be shared between the client and the server. Data models have no dependency on the server, so you only have to update your schemas in one place. The official client library exposes the same core API as the server. Why not save yourself a headache?

Where is the documentation?

The wiki is updated frequently, with tutorials, overviews, and general information. Each package’s Github repository also contains documentation, and sufficient tests to serve as examples. And of course, there are always the Dartdocs.

How can I get started?

Read this page on the wiki.