Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
I think the only thing holding me back from doing so is this issue which would make it possible to use a project like inventory to statically discover everything and eliminate the need for glue code to get everything connected. The potential solution would be to statically analyse the code, find the inventory items and make sure they are all used in the root of the central crate.
I know you said you don’t want to embed another language but IMO Rune is worth a consideration here. It can be a pretty thin abstraction over rust by passing native structs to scripts and calling methods on them. The syntax and semantics are very close to rust so it feels natural. https://github.com/rune-rs/rune
Finally, this is all composed together in the final application. When anyone wants to provide custom functionality, all they have to do is modify their own main.rs file and omit things they dont' want, and add composition for things they now want.
You might wanna take a look at cglue: https://github.com/h33p/cglue