Redstone.dart

Серверный микрофреймворк на Dart

Просто и понятно
Redstone.dart позволяет легко давать доступ к функциям и классам через веб-интерфейс. Нужно просто добавить аннотацию.
import 'package:redstone/server.dart' as app;

@app.Route("/")
helloWorld() => "Hello, World!";

main() {
  app.setupConsoleLog();
  app.start();
}
Большие возможности
Поддержка перехватчиков запросов, слушателей ошибок, DI и еще многого интересного.
@app.Interceptor(r'/admin/.*')
adminFilter() {
  if (app.request.session["username"] != null) {
    app.chain.next();
  } else {
    app.chain.interrupt(statusCode: HttpStatus.UNAUTHORIZED);
    //или app.redirect("/login.html");
  }
}
@app.ErrorHandler(404)
handleNotFoundError() => app.redirect("/error/not_found.html");
Легко тестировать
Тестирование сервера можно производить без какого либо стороннего инструмента.
main() {

  setUp(app.setUp);

  tearDown(app.tearDown);

  test("service", () {
    var req = new MockRequest("/service");
    return app.dispatch(req).then((resp) {
      expect(resp.statusCode, equals(200));
      expect(resp.mockContent, equals("ok"));
    });
  })

}