- Runtime de Wasm implementado en Java puro, sin dependencias adicionales
- Puede ejecutar módulos Wasm en cualquier lugar donde funcione la JVM
- Se puede integrar fácilmente dentro de tu propio proyecto, lo que permite implementar sistemas de plugins con facilidad
- Los módulos de WebAssembly se ejecutan en un entorno sandbox, por lo que por diseño ofrece ventajas de seguridad. Es posible controlar todos los recursos
- Apunta a brindar soporte completo para la especificación core de Wasm
- Desventajas de otros runtimes de Wasm
- Existen varios runtimes de Wasm como v8, wasmtime, wasmer, wasmedge y wazero, pero la mayoría están escritos en lenguajes nativos, por lo que al distribuirlos se deben incluir binarios por sistema operativo/arquitectura
- Al usar código nativo y FFI (llamadas a funciones externas), se puede salir del tooling, el modelo de seguridad y la observabilidad de la JVM
2 comentarios
¿La parte sobre las desventajas del runtime de wasm no también aplica a la JVM? Supongo que habrán escrito las desventajas desde la perspectiva de un desarrollador de Java, ¿verdad?
Soy más bien del lado de Java, y como no había nada en Java para hacer wasm que realmente me convenciera, estaba estudiando Rust, así que me da gusto ver esto.
Entre las razones para estudiar Rust también está cierta nostalgia por lo low-level.