Google’s Dart language is awesome. After using JavaScript for about a year, I felt suffocated by its chaotic environment and endless flood of dependencies. Dart is not only immune to this problem, but also as a language contains many notable improvements over JavaScript. Dart is excellent on the client-side, but on the server-side, there is no framework that really sticks out to me. Thus, the Angel Framework was born.

Angel is an easily-extensible framework inspired by Express, FeathersJS and Laravel. It has several plugins available, a ready-to-go boilerplate and even a client library. The framework is still in development, but we can get a taste of it by making a small application.

Let’s build a simple server that accepts file uploads and spits out information about uploaded files.

The easiest way to start an Angel project is by installing the Angel CLI. Run the following in your Terminal or Command Prompt, assuming you already have the Dart SDK installed:

pub global activate angel_cli

Now, let’s initialize a new project. Run:

angel init uploads

This will create a new project called uploads and install all required dependencies.