You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I understand that you chose JavaScript as the scripting language for RedisGears for a variety of reasons, including a smaller module footprint, better sandboxing possibilities, and the popularity of JavaScript among developers.
However, if sandboxing is the main concern, have you considered using WebAssembly (WASM) instead? WebAssembly is a portable binary instruction format that can run in the browser or on a server, and it's designed with performance and security in mind.
WASM can be compiled from other programming languages like C/C++, C#, Rust, Go, and many more, which means that developers would have a wide variety of options for writing RedisGears scripts. Additionally, using WASM could potentially reduce the module footprint even further than JavaScript, while providing even better sandboxing capabilities.
Of course, I understand that there may be other factors at play in the decision to use JavaScript, but I wanted to suggest WebAssembly as an alternative to consider.
Thanks @zboralski .
Please notice that the V8 (the JS engine we are using) already supports wasm, we have a tutorial on how to use it with rust: https://github.com/RedisGears/RedisGears/blob/master/docs/create_development_environment.md#using-webassembly (notice that it is still experimental and might be change in the future).
We also considering adding wasm as a stand alone engine. RedisGears has a plugins mechanism so it will be easy to add more engines in the future. So it is definitely something we consider and investigating.
I understand that you chose JavaScript as the scripting language for RedisGears for a variety of reasons, including a smaller module footprint, better sandboxing possibilities, and the popularity of JavaScript among developers.
However, if sandboxing is the main concern, have you considered using WebAssembly (WASM) instead? WebAssembly is a portable binary instruction format that can run in the browser or on a server, and it's designed with performance and security in mind.
WASM can be compiled from other programming languages like C/C++, C#, Rust, Go, and many more, which means that developers would have a wide variety of options for writing RedisGears scripts. Additionally, using WASM could potentially reduce the module footprint even further than JavaScript, while providing even better sandboxing capabilities.
Of course, I understand that there may be other factors at play in the decision to use JavaScript, but I wanted to suggest WebAssembly as an alternative to consider.
Originally posted by @zboralski in #811 (comment)
The text was updated successfully, but these errors were encountered: