Re:We Built a Cross-Platform Library with Rust
by kodah on Wednesday October 27, 2021 @02:06PM
(#29016811)
I have this problem. My team supports four different SDK's that are fairly parallel to the selection Oso has. Maintaining all of the core logic for each of these SDK's is really tiresome and not scalable as an organization grows.
I've been looking for ways to write the core client logic in one language, and have frontends in each of the languages we support. I've previously thought about WASM for this, but I haven't found any ways to embed a binary (like WASM) in a Go package. This post is a good update, showing it's possible even if complicated. If anyone has write ups on how, I'd love to read them.
Re:We Built a Cross-Platform Library with Rust
by apendleton on Wednesday October 27, 2021 @01:47PM
(#29016568)
I wonder how practical it would be, and what the performance hit would be like, to just use WASM everywhere, since they've already built a WASM backend for their JS client? It seems like that would let them sidestep having to build everything per OS/arch, and it seems like most languages have WASM runtimes nowadays.
Re:We Built a Cross-Platform Library with Rust
by saolsen on Wednesday October 27, 2021 @01:59PM
(#29016715)
Hey, author here.
I've wondered that myself. It's not quite as "built in" to other languages as it is in JavaScript but if there was a good implementation it could probably work well. Something to look into.
I've been looking for ways to write the core client logic in one language, and have frontends in each of the languages we support. I've previously thought about WASM for this, but I haven't found any ways to embed a binary (like WASM) in a Go package. This post is a good update, showing it's possible even if complicated. If anyone has write ups on how, I'd love to read them.
https://github.com/osohq/oso seems to have the core, C FFI, and language bindings.