Is it possible to create an extension system similar to VS Code using Rust and Tauri?

I'm looking to write my front-end using Tauri and the back-end using Rust. It's just a side project that allows me to handle multiple Database instances similar to how MySQL workbench is for SQL database. How can I go about doing something like this?

1 Like

Why not?

I know it's possible but I've never build any application with extension system before so I was wondering how can I go about doing so?

Search online for "rust lang plugin architecture" and there's a lot of good results. Essentially, you want to define some trait that others can implement, and load that code in dynamically an runtime.

The most promising architecture at the moment is to use wasm/wasi as a plugin interface, like Lapce. You could potentially additionally support native LSP servers talking directly over JSON-RPC rather than marshalling through a wasm interface — I'm not sure how Lapce's LSP integration functions; it might do this already.

WASM does seem like the best architecture for implementing the plugin system. However, I'm still not sure how I can move forward with this. Do you happen to know any examples I can reference from?

This is what wasmer points to. Wasmer claims to be faster than wasmtime, and the documentation looks pretty good too.

Thank you so much

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.