[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-82004":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":14,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":24,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":29,"readmeContent":30,"aiSummary":31,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":32,"discoverSource":33},82004,"endive","bytecodealliance\u002Fendive","bytecodealliance","A JVM native WebAssembly runtime","https:\u002F\u002Fendive.run\u002F",null,"Java",219,9,3,11,0,2,18,77,13,"Apache License 2.0",false,"main",true,[26,27,28],"java","wasm","webassembly","2026-06-12 02:04:22","# Endive\n\n\u003Cp align=\"center\">\n  \u003Cpicture>\n    \u003Cimg width=\"200\" src=\"endive.png\">\n  \u003C\u002Fpicture>\n  \u003Cbr>\n  \u003Cstrong>A \u003Ca href=\"https:\u002F\u002Fbytecodealliance.org\u002F\">Bytecode Alliance\u003C\u002Fa> hosted project\u003C\u002Fstrong>\n  \u003Cbr>\u003Cbr>\n  \u003Ca href=\"https:\u002F\u002Fendive.run\u002F\">Website\u003C\u002Fa> |\n  \u003Ca href=\"https:\u002F\u002Fendive.run\u002Fdocs\u002F#getting-started\">Getting started\u003C\u002Fa> |\n  \u003Ca href=\"https:\u002F\u002Fendive.run\u002Fblog\">Blog\u003C\u002Fa> |\n  \u003Ca href=\"\u002FCONTRIBUTING.md\">Contributing\u003C\u002Fa>\n\u003C\u002Fp>\n\n[![Interpreter Test Results](https:\u002F\u002Fraw.githubusercontent.com\u002Fbytecodealliance\u002Fendive\u002Fbadges\u002Fbadge-interpreter.svg)](https:\u002F\u002Fgithub.com\u002Fbytecodealliance\u002Fendive\u002Factions)\n[![Compiler Test Results](https:\u002F\u002Fraw.githubusercontent.com\u002Fbytecodealliance\u002Fendive\u002Fbadges\u002Fbadge-compiler.svg)](https:\u002F\u002Fgithub.com\u002Fbytecodealliance\u002Fendive\u002Factions)\n[![WASI Test Results](https:\u002F\u002Fraw.githubusercontent.com\u002Fbytecodealliance\u002Fendive\u002Fbadges\u002Fbadge-wasi.svg)](https:\u002F\u002Fgithub.com\u002Fbytecodealliance\u002Fendive\u002Factions)\n\n[![Zulip](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fzulip-join_chat-brightgreen.svg)](https:\u002F\u002Fbytecodealliance.zulipchat.com\u002F#narrow\u002Fstream\u002Fendive)\n\nEndive is a JVM native WebAssembly runtime. It allows you to run WebAssembly programs with\nzero native dependencies or JNI. Endive can run Wasm anywhere that the JVM can go. It is designed with\nsimplicity and safety in mind.\n\nEndive is a fork of [Chicory](https:\u002F\u002Fgithub.com\u002Fdylibso\u002Fchicory) by Dylibso, Inc.\nWe thank Dylibso for the incubation period and their foundational work on this project.\n\n> *Reach out to us*: let us know what you are building with Endive.\n> [Join our Zulip chat](https:\u002F\u002Fbytecodealliance.zulipchat.com\u002F#narrow\u002Fstream\u002Fendive).\n\nGet started now with the [official documentation](https:\u002F\u002Fendive.run\u002Fdocs\u002F)\n\n## Why?\n\nThere are a number of mature Wasm runtimes to choose from to execute a Wasm module.\nTo name a few [v8](https:\u002F\u002Fv8.dev\u002F), [wasmtime](https:\u002F\u002Fwasmtime.dev\u002F), [wasmer](https:\u002F\u002Fwasmer.io\u002F), [wasmedge](https:\u002F\u002Fwasmedge.org\u002F), [wazero](https:\u002F\u002Fwazero.io\u002F) etc.\n\nAlthough these can be great choices for running a Wasm application, embedding them into your existing\nJava application has some downsides. Because these runtimes are written in C\u002FC++\u002FRust\u002Fetc, they must be distributed\nand run as native code. This causes two main friction points:\n\n### 1. Distribution\n\nIf you're distributing a Java library (jar, war, etc), you must now distribute along with it a native object targeting the correct\narchitecture and operating system. This matrix can become quite large. This eliminates a lot of the simplicity and original benefit of shipping Java code.\n\n### 2. Runtime\n\nAt 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\nsecurity and memory guarantees, and your tools, can stay in place.\n\n## Goals\n\n* Be the default runtime for Wasm on the JVM\n* Be as safe as possible\n* Make it easy to run Wasm in any JVM environment without native code, including very restrictive environments\n* Fully support the core Wasm spec\n* Make integration with Java (and other host languages) easy and idiomatic\n\n## Roadmap\n\nEndive development builds on years of work started in September 2023 as Chicory.\nIf you have an interest in working on any of these please reach out in Zulip!\n\n### Completed\n\n* [x] Wasm binary parser\n* [x] Simple bytecode interpreter\n* [x] Generate JUnit tests from wasm test suite\n* [x] All tests green with the interpreter (correctness)\n* [x] Validation logic (safety)\n* [x] v1.0 API (stability and dx)\n* [x] Decoupled interpreter and compiler \"engines\"\n* [x] Build-time compiler passes all the same specs as interpreter\n* [x] WASIp1 Support (including test gen)\n* [x] SIMD Support\n* [x] Tail Call (interpreter and compiler)\n* [x] Compiler out of experimental\n* [x] Exception Handling\n* [x] Threads Support\n* [x] Extended Constant Expressions\n* [x] GC support\n* [x] Multi-Memory Support\n\n### Ongoing\n\n* [ ] Performance\n* [ ] WASIp2 Support\n\n## On the press\n\n- [Chicory: A Zero Dependency Wasm Runtime for the JVM](https:\u002F\u002Fwww.javaadvent.com\u002F2023\u002F12\u002Fchicory-wasm-jvm.html) on [Java Advent 2023](https:\u002F\u002Fwww.javaadvent.com\u002F2023\u002F12)\n- [Chicory - a WebAssembly Interpreter Written Purely in Java with Zero Native Dependencies](https:\u002F\u002Fwww.infoq.com\u002Fnews\u002F2024\u002F05\u002Fchicory-wasm-java-interpreter\u002F) on [InfoQ](https:\u002F\u002Fwww.infoq.com)\n- [Chicory: Write to WebAssembly, Overcome JVM Shortcomings](https:\u002F\u002Fthenewstack.io\u002Fchicory-write-to-webassembly-overcome-jvm-shortcomings\u002F) on [The New Stack](https:\u002F\u002Fthenewstack.io)\n- [Meet Chicory, exploit the power of WebAssembly on the server side! by Andrea Peruffo](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=7a1yrDSh9rA) (Devoxx BE 2024)\n- [WebAssembly, the Safer Alternative to Integrating Native Code in Java](https:\u002F\u002Fwww.infoq.com\u002Farticles\u002Fsqlite-java-integration-webassembly\u002F) on [InfoQ](https:\u002F\u002Fwww.infoq.com)\n- [Chicory: Creating a Language-Native Wasm Runtime by Benjamin Eckel \u002F Andrea Peruffo](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=00LYdZS0YlI) (Wasm I\u002FO 2024)\n- [Chicory, a JVM Native WebAssembly Runtime by Benjamin Eckel](https:\u002F\u002Fyoutu.be\u002FacF_cJ70n04?si=jpMAfAmjl5UaEWWa) (Dylibso Insiders)\n- [WebAssembly the ace up the sleeve of your Java and Quarkus apps](https:\u002F\u002Fwww.youtube.com\u002Flive\u002FYY5he2pdv8Q?si=tJCXJbfLXDtRxbh-) (Quarkus Insights 206)\n- [The Chicory Photo Album: Celebrating 1.0.0 and a Year of Wasm](https:\u002F\u002Fwww.javaadvent.com\u002F2024\u002F12\u002Fwasm-chicory-1.html) on [Java Advent 2024](https:\u002F\u002Fwww.javaadvent.com\u002F2024\u002F12)\n- [Wazero vs Chicory: An In-Depth Comparison Between Two Language-Native Wasm Runtimes by Edoardo Vacchi](https:\u002F\u002Farchive.fosdem.org\u002F2025\u002Fschedule\u002Fevent\u002Ffosdem-2025-4961-wazero-vs-chicory-an-in-depth-comparison-between-two-language-native-wasm-runtimes\u002F) (FOSDEM 2025)\n- [WASM in the Enterprise: Secure, Portable, and Ready for Business by Andrea Peruffo](https:\u002F\u002Fwww.infoq.com\u002Fpresentations\u002Fwasm-enterprise\u002F) (QCon London 2025)\n- [A Go CEL Policy Engine in Java, with Quarkus Chicory](https:\u002F\u002Fquarkus.io\u002Fblog\u002Fk8s-style-CEL-with-quarkus-chicory\u002F) on [Quarkus Blog](https:\u002F\u002Fquarkus.io\u002Fblog\u002F)\n- [Introduction to the Chicory Native JVM WebAssembly Runtime](https:\u002F\u002Fwww.baeldung.com\u002Fchicory-native-jvm-webassembly-runtime) on [Baeldung](https:\u002F\u002Fwww.baeldung.com)\n- [Bring WebAssembly to the JVM. How Chicory Is Powering a New Generation of Java Libraries](https:\u002F\u002Fwww.javaadvent.com\u002F2025\u002F12\u002Fchicory-webassembly-on-the-jvm.html) on [Java Advent 2025](https:\u002F\u002Fwww.javaadvent.com\u002F2025\u002F12)\n- [The State of Zero-Dependency Wasm: A 2026 Update from Wazero and Chicory](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=RjLXovPbU90) (Wasm I\u002FO 2026)\n\n## Prior Art\n\n* [asmble](https:\u002F\u002Fgithub.com\u002Fcretz\u002Fasmble)\n* [kwasm](https:\u002F\u002Fgithub.com\u002Fjasonwyatt\u002FKWasm)\n* [wazero](https:\u002F\u002Fwazero.io\u002F)\n\n## Who uses Endive?\n\nSee [ADOPTERS.md](ADOPTERS.md) for the full list of organizations and projects using Endive.\n","Endive 是一个JVM原生的WebAssembly运行时，它能够在不依赖任何本地库或JNI的情况下运行WebAssembly程序。核心功能包括纯Java实现的Wasm解释器和编译器，确保了在执行WebAssembly模块时的安全性和可观察性。技术特点上，Endive旨在简化部署流程，并保持与现有Java工具链的兼容性，同时提供跨平台支持。适合于需要在JVM环境中无缝集成WebAssembly应用的场景，特别是那些对安全性和环境限制有严格要求的应用开发场合。","2026-06-11 04:07:26","CREATED_QUERY"]