Hey everyone!

I've been working with plugin systems in Rust for a couple of years now, exploring different approaches and building various kinds of implementations along the way.

It all started back in 2024, shortly before I made this post: Writing a Plugin System in Rust.

Over time, I've become interested in building a crate to facilitate the creation and implementation of plugin systems in Rust.

The idea is to have a lightweight, domain-agnostic core, accompanied by separate, system-specific crates that provide implementations for different types of plugin systems. For example:

  • Inter-process communication (IPC)
  • Dynamic libraries (DLLs)
  • WebAssembly (WASM)
  • Other approaches that might be relevant

One of my main goals is to keep the core as lightweight as possible, while providing a range of optional features that users can enable depending on their needs.
Ideally, developers should be able to pick and choose what they need without pulling in unnecessary dependencies or functionality. I don't want to build a bloated monolith.

I already have a fairly solid set of features and ideas in mind, but I'm also interested in getting some additional context from the community:

  • Experiences and choices: What kinds of plugin systems have you worked with or built in Rust? More importantly, what made you choose one approach over another? What were the deciding factors?

  • Pain points: What challenges or frustrations have you encountered when implementing or using plugin systems?

  • Missing features: When using existing solutions, is there anything you've found yourself wishing they offered? Are there features or capabilities you feel are currently lacking?

  • Existing solutions: Are there any crates or projects you've found particularly interesting or useful? What did you like or dislike about them?

I'm interested in hearing about both your experiences building plugin systems and your experiences using existing solutions. Any insights, recommendations, or interesting projects I might have overlooked are very welcome.

Looking forward to hearing your thoughts, whether you've been working with plugin systems for some time or are just getting started. :crab:

1 post - 1 participant

Read full topic