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

The AI space race: US and China bet big on orbital data centers

The US and China are both launching large-scale projects to develop orbital data centers, marking a new phase in the global AI and space race.

The Largest Available Minecraft World, Totalling 15 TB

A new record for the largest available Minecraft world has been set at 15 TB, offering unprecedented scope for players and creators. Details are still emerging.

Google Adds Klarna, Affirm as AI Shopping Payment Options

Google has added Klarna and Affirm as new AI-powered payment options for online shoppers, expanding its digital checkout services.

The iPhone Upgrade Program Is Being Replaced By Apple Upgrade

Apple is discontinuing its iPhone Upgrade Program and launching a new service called Apple Upgrade, starting in 2024, offering a different approach to device upgrades.