We are considering adding extension support to Verve, which would allow users to create scripts or programs that extend the functionality of the application. This would be a challenging task to implement, but we believe it would greatly enhance the utility of Verve for our users.
One potential way to implement extension support is by using a wasm runtime (such as wasmtime) to embed a wasm runtime into the app and load 3rd party plugins as wasm modules. This would give us fine-grained control over security and exposed APIs, and would allow us to use codegen utilities (such as rust, assemblyscript, and c) to create binding libraries that compile to wasm. Third-party developers (or ourselves) could then use these libraries to compile their code to wasm and create working extensions in a secure way.
We are open to suggestions and ideas about how best to implement extension support in Verve. If you have any thoughts or recommendations on this topic, please let us know in the comments.
Side notes:
The above approach was suggested by -> https://github.com/JonasKruckenberg
We are considering adding extension support to Verve, which would allow users to create scripts or programs that extend the functionality of the application. This would be a challenging task to implement, but we believe it would greatly enhance the utility of Verve for our users.
One potential way to implement extension support is by using a wasm runtime (such as wasmtime) to embed a wasm runtime into the app and load 3rd party plugins as wasm modules. This would give us fine-grained control over security and exposed APIs, and would allow us to use codegen utilities (such as rust, assemblyscript, and c) to create binding libraries that compile to wasm. Third-party developers (or ourselves) could then use these libraries to compile their code to wasm and create working extensions in a secure way.
We are open to suggestions and ideas about how best to implement extension support in Verve. If you have any thoughts or recommendations on this topic, please let us know in the comments.
Side notes:
The above approach was suggested by -> https://github.com/JonasKruckenberg