Java Clean Architecture Masterclass

Java Clean Architecture Masterclass28-29 May

Join

Endive


A Bytecode Alliance hosted project

Website | Getting started | Blog | Contributing

Interpreter Test Results Compiler Test Results WASI Test Results

Zulip

Endive is a JVM native WebAssembly runtime. It allows you to run WebAssembly programs with zero native dependencies or JNI. Endive can run Wasm anywhere that the JVM can go. It is designed with simplicity and safety in mind.

Endive is a fork of Chicory by Dylibso, Inc. We thank Dylibso for the incubation period and their foundational work on this project.

Reach out to us: let us know what you are building with Endive. Join our Zulip chat.

Get started now with the official documentation

Why?

There are a number of mature Wasm runtimes to choose from to execute a Wasm module. To name a few v8, wasmtime, wasmer, wasmedge, wazero etc.

Although these can be great choices for running a Wasm application, embedding them into your existing Java application has some downsides. Because these runtimes are written in C/C++/Rust/etc, they must be distributed and run as native code. This causes two main friction points:

1. Distribution

If you're distributing a Java library (jar, war, etc), you must now distribute along with it a native object targeting the correct architecture and operating system. This matrix can become quite large. This eliminates a lot of the simplicity and original benefit of shipping Java code.

2. Runtime

At runtime, you must use FFI to execute the module. When you do, you're effectively escaping the safety and observability of the JVM. Having a pure JVM runtime means all your security and memory guarantees, and your tools, can stay in place.

Goals

Roadmap

Endive development builds on years of work started in September 2023 as Chicory. If you have an interest in working on any of these please reach out in Zulip!

Completed

Ongoing

On the press

Prior Art

Who uses Endive?

See ADOPTERS.md for the full list of organizations and projects using Endive.

Join libs.tech

...and unlock some superpowers

GitHub

We won't share your data with anyone else.