darwin_sdk 1.1.0-alpha.4 copy "darwin_sdk: ^1.1.0-alpha.4" to clipboard
darwin_sdk: ^1.1.0-alpha.4 copied to clipboard

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

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()
@RequestMapping("/api/cats")
class CatController {

  CatService service;
  CatController(this.service);

  @GetMapping("%name%")
  Cat retrieveCat(@PathParameter() String name) {
    return service.getNamedCat(name);
  }

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

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

}

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.

4
likes
0
pub points
10%
popularity

Publisher

verified publisherhelight.dev

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

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

ansi_styles, darwin_eventbus, darwin_injector, logging, meta, path

More

Packages that depend on darwin_sdk