I am looking for a cross-platform WebAssembly interpreter to use in a project. Normally I would use Wasmer or Wasmtime, but I want to target mobile platforms and neither runtime supports iOS due to their "no JITs in the app store" policy[1].
Does anyone know of any WebAssembly interpreters that are written in pure Rust and can be cross-compiled to Android/iOS?
At the moment I'm using the wasm3
crate, but it isn't ideal because the crate binds to the WASM3 C library and that library is hard to cross-compile reliably.
-
Well technically Wasmer says it supports iOS, but if you read the fine-print it actually requires you to pre-compile your WebAssembly to a DLL that gets loaded on the iOS device.
That isn't really a solution for me because you lose all the benefits of using WebAssembly (use one binary for all platforms, easy introspection via custom sections, etc.) and if I just wanted a DLL I wouldn't bother with WebAssembly in the first place. ↩︎