Endive: A JVM native WebAssembly runtime

TL;DR

Endive is a newly announced JVM-native WebAssembly runtime designed to run Wasm programs without native dependencies or JNI. It aims to improve safety, simplicity, and integration for Java developers. The project is based on Dylibso’s Chicory and is currently in early development stages.

Endive has been introduced as a JVM-native WebAssembly runtime that allows running WebAssembly programs without native dependencies or JNI, aiming to simplify deployment and enhance security for Java applications.

Endive is a fork of Chicory by Dylibso, Inc., designed to execute WebAssembly modules purely within the JVM environment. Unlike existing runtimes such as V8 or Wasmtime, which require native code and complex distribution matrices, Endive operates entirely in Java, eliminating the need for native binaries and reducing deployment friction.

The project emphasizes safety, simplicity, and ease of integration, supporting core WebAssembly specifications and aiming to become the default runtime for Wasm on the JVM. It is part of a broader effort to embed WebAssembly into Java ecosystems without compromising JVM security and tooling.

Why It Matters

This development is significant because it addresses longstanding challenges in embedding WebAssembly into Java applications. By removing native dependencies, Endive simplifies distribution, enhances security, and maintains JVM memory and security guarantees. It potentially broadens WebAssembly’s adoption in enterprise Java environments, especially in restrictive or security-sensitive settings.

Amazon

Java WebAssembly runtime

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Background

WebAssembly runtimes like V8, Wasmtime, and Wasmer have been popular choices for executing Wasm modules but require native code, complicating deployment in Java applications. Chicory, introduced in 2023, laid the groundwork for a JVM-native approach. Endive builds on this foundation, aiming to be a fully JVM-compatible runtime, with ongoing development including support for SIMD, tail calls, and garbage collection. The project is part of a growing ecosystem seeking to make WebAssembly more accessible within Java.

“Endive allows you to run WebAssembly programs with zero native dependencies, directly within the JVM.”

— Benjamin Eckel, Dylibso

“Endive aims to be the default runtime for WebAssembly on the JVM, focusing on safety and ease of integration.”

— Andrea Peruffo, Devoxx BE 2024

Amazon

WebAssembly development tools for Java

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

What Remains Unclear

Details about Endive’s current stability, performance benchmarks, and full feature support are still emerging. It remains unclear how mature the runtime is and when it will achieve production readiness.

Java Scripting API for Enterprise Apps: Building Dynamic Rule Engines and Adaptable Software

Java Scripting API for Enterprise Apps: Building Dynamic Rule Engines and Adaptable Software

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

What’s Next

Development is ongoing, with future milestones including performance optimizations, extended WebAssembly feature support such as SIMD and tail calls, and broader community adoption. The team plans to release more stable versions and documentation updates.

Amazon

Java JVM native runtime

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Key Questions

What is Endive?

Endive is a JVM-native WebAssembly runtime designed to run Wasm modules without native dependencies or JNI, emphasizing safety and simplicity.

How does Endive differ from existing WebAssembly runtimes?

Unlike runtimes like V8 or Wasmtime, Endive runs entirely within the JVM, avoiding native code and simplifying deployment and security.

Is Endive ready for production use?

Endive is currently in early development stages, with ongoing work to improve stability, performance, and feature support. It is not yet confirmed as production-ready.

What are the main benefits of using Endive?

Endive offers native JVM compatibility, eliminates native dependencies, enhances security, and simplifies distribution of WebAssembly modules in Java applications.

Where can I learn more about Endive?

More information and documentation are available on the project’s GitHub repository: Endive GitHub.

Source: Hacker News

You May Also Like

Htmx 4.0, The First JavaScript Library To Release Exclusively On The Game Boy

Htmx 4.0, a JavaScript library, is released exclusively for the Game Boy, marking the first time such a library is available on this platform.

Library for fast mapping of Java records to native memory

TypedMemory is an experimental Java library for mapping Java records onto native memory, enabling high-performance off-heap data management.

The bridge. Why the AI buildout runs on a nuclear story and a gas reality.

Exploring the gap between AI industry’s nuclear procurement rush and the reality of behind-the-meter gas infrastructure filling the power demand now.

SpaceX S-1

SpaceX has filed an S-1 registration statement with the SEC, revealing plans for an initial public offering and listing on Nasdaq under the symbol SPCX.