- बिना किसी अलग dependency के, pure Java में implement किया गया Wasm runtime
- JVM जहाँ भी चलता है, वहाँ Wasm modules चलाए जा सकते हैं
- इसे अपने project के अंदर आसानी से integrate किया जा सकता है, इसलिए plugin system को सरलता से implement किया जा सकता है
- WebAssembly modules sandbox environment में चलते हैं, इसलिए design के हिसाब से security के लिहाज़ से फायदेमंद हैं। सभी resources पर control संभव है
- Wasm core spec को पूरी तरह support करने का लक्ष्य
- अन्य Wasm runtimes की कमियाँ
- v8, wasmtime, wasmer, wasmedge, wazero जैसे कई Wasm runtimes हैं, लेकिन उनमें से ज़्यादातर native languages में लिखे गए हैं, इसलिए deploy करते समय OS/architecture-विशिष्ट binaries शामिल करनी पड़ती हैं
- native code और FFI (external function calls) का उपयोग करने पर JVM के tools, security model और observability से बाहर जाया जा सकता है
2 टिप्पणियां
क्या wasm runtime की जिन कमियों की बात की गई है, वे JVM पर भी लागू नहीं होतीं..? शायद आपने Java developer के नज़रिए से कमियां लिखी होंगी, है न?
मैं Java इकोसिस्टम का ही आदमी हूँ, लेकिन Java में wasm करने के लिए अब तक कुछ भी खास पसंद नहीं आया, इसलिए Rust पढ़ रहा था, तो यह देखकर अच्छा लगा.
Rust पढ़ने की वजहों में low-level के लिए एक तरह की nostalgia भी शामिल है.