Skip to content
This repository has been archived by the owner on Aug 1, 2023. It is now read-only.
/ darwin Public archive

🧰 Swiss army knife for creating service based applications in dart, using IoC and a powerful annotation based code generator.

License

Notifications You must be signed in to change notification settings

DarwinFramework/darwin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Darwin discord discord gitbook melos

Darwin is your swiss army knife for creating service based applications in dart, using the inversion of control principle and a powerful annotation based code-generator.

Goals

  • 🪟 Clear and readable! with almost zero boilerplate and services.
  • 🔋 Batteries included! plus a variety of packages and integrations.
  • 🚄 We are speed! Fast startups and delayable code generation.
  • 🎨 Make it your own! Many extension points and configurations.

Have a look for yourself!

@RestController()
@Path("/api/cats")
class CatController {

  CatService service;
  CatController(this.service);

  @GET("{name}")
  Cat retrieveCat(@PathParam() String name) {
    return service.getNamedCat(name);
  }

  @POST()
  Cat saveCat(@Body() cat) => service.addCat(cat);

  @GET()
  List<Cat> retrieveAll() => service.getAllCats();

}

Getting Started

To create a new project, you can use our cli tool charles (install with dart pub global activate charles) or our Web Project Generator.

Have a look at our example project for sample code or our Getting Started Guide at our Gitbook Wiki.

Silent Code Generation

A neat point about darwins non-intrusive code generation is, that it has almost zero boilerplate and generally doesn't require importing or referencing generated source code, except for just a few cases. This allows you to keep on working on your code, without having to wait for the build runner to create your required files for every new service you create and plan to use. This also minimizes conflicts with other external generators and helps to prevent unexpected build runner crashes.

About

🧰 Swiss army knife for creating service based applications in dart, using IoC and a powerful annotation based code generator.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks