Endive: Runtime WebAssembly thuần JVM giúp Java chạy Wasm mà không cần phụ thuộc native code
Endive là dự án runtime WebAssembly mới được phát triển bởi Bytecode Alliance, là bản fork của dự án Chicory. Công cụ này cho phép chạy các chương trình Wasm trực tiếp trên JVM với độ an toàn cao, loại bỏ hoàn toàn sự phụ thuộc vào mã nguồn native hoặc JNI, đồng thời giải quyết các vấn đề phức tạp trong việc phân phối và tích hợp.

Endive là một dự án mới được lưu trữ bởi Bytecode Alliance, cung cấp một môi trường chạy WebAssembly (runtime) hoạt động nguyên bản trên JVM (Java Virtual Machine). Được thiết kế dựa trên sự đơn giản và an toàn, Endive cho phép các nhà phát triển chạy các chương trình WebAssembly ở bất cứ đâu mà JVM có thể hoạt động, mà không yêu cầu bất kỳ phụ thuộc mã nguồn gốc (native dependencies) hay JNI nào.
Trạng thái Interpreter của Endive
Trạng thái Compiler của Endive
Trạng thái hỗ trợ WASI của Endive
Dự án này thực chất là một bản fork của Chicory, một runtime được phát triển bởi Dylibso, Inc. Đội ngũ phát triển Endive đã thừa nhận những đóng góp nền tảng của Dylibso trong giai đoạn ủ mầm và xây dựng dự án này. Mục tiêu chính của Endive là trở thành runtime mặc định cho WebAssembly trên nền tảng JVM.
Tại sao lại cần Endive?
Hiện nay, đã có khá nhiều runtime WebAssembly trưởng thành để lựa chọn như V8, Wasmtime, Wasmer, WasmEdge hay Wazero. Tuy nhiên, khi nhúng các runtime này vào các ứng dụng Java hiện có, người dùng thường gặp phải những bất tiện lớn do chúng được viết bằng các ngôn ngữ như C, C++ hoặc Rust.
Việc sử dụng các runtime này gây ra hai điểm ma sát chính:
1. Phân phối (Distribution)
Nếu bạn đang phân phối một thư viện Java (như tệp .jar hay .war), bạn buộc phải phân phối kèm theo các đối tượng native (native objects) tương thích với kiến trúc CPU và hệ điều hành mục tiêu. Ma trận phân phối này có thể trở nên cực kỳ lớn và phức tạp, làm mất đi sự đơn giản và lợi ích cốt lõi của việc triển khai mã Java vốn dĩ có tính "write once, run anywhere".
2. Thời gian chạy (Runtime)
Tại thời điểm chạy, ứng dụng phải sử dụng FFI (Foreign Function Interface) để thực thi mô-đun Wasm. Khi làm điều này, bạn thực sự đang thoát khỏi sự an toàn và khả năng quan sát (observability) của JVM. Việc có một runtime thuần JVM đảm bảo rằng tất cả các đảm bảo về bảo mật, bộ nhớ và công cụ giám sát của bạn vẫn được giữ nguyên vẹn.
Mục tiêu và Tính năng
Endive được xây dựng với những mục tiêu rõ ràng nhằm tối ưu hóa trải nghiệm của nhà phát triển Java:
- Trở thành runtime mặc định cho Wasm trên JVM.
- Đảm bảo độ an toàn tối đa có thể.
- Dễ dàng chạy Wasm trong bất kỳ môi trường JVM nào mà không cần mã native, bao gồm cả những môi trường có giới hạn nghiêm ngặt.
- Hỗ trợ đầy đủ các đặc tả cốt lõi của Wasm.
- Tích hợp dễ dàng và theo đúng phong cách của Java (cũng như các ngôn ngữ host khác).
Tình hình phát triển và Lộ trình
Endive phát triển dựa trên nhiều năm công tác bắt đầu từ tháng 9 năm 2023 với tên gọi Chicory. Dự án đã hoàn thành nhiều cột mốc quan trọng:
- Trình phân tích cú pháp nhị phân Wasm (Wasm binary parser).
- Trình thông dịch bytecode đơn giản và bộ tạo bài kiểm tra JUnit từ bộ kiểm tra Wasm.
- Logic xác thực (Validation) để đảm bảo an toàn.
- API v1.0 ổn định và tách biệt hoàn toàn giữa các "động cơ" thông dịch và biên dịch (compiler).
- Hỗ trợ WASIp1, SIMD, Tail Call, và Xử lý ngoại lệ.
- Trình biên dịch đã thoát khỏi giai đoạn thử nghiệm.
Hiện tại, đội ngũ đang tập trung cải thiện hiệu suất và hỗ trợ WASIp2.
Dự án cũng đang thu hút sự quan tâm từ cộng đồng công nghệ và đã được giới thiệu trên nhiều nền tảng uy tín như InfoQ, The New Stack, và tại các hội nghị lớn như Devoxx, QCon London, cũng như các sự kiện chuyên về WebAssembly như Wasm I/O.
Tham gia chat Zulip
Nếu bạn đang tìm kiếm giải pháp để chạy WebAssembly trong hệ sinh thái Java mà không muốn gặp rắc rối với JNI hay các thư viện native phức tạp, Endive là một lựa chọn đầy hứa hẹn để khám phá.
Bài viết liên quan

Phần mềm
Tấn công Cache Poisoning biến các gói npm TanStack thành mối đe dọa nguy hiểm
12 tháng 5, 2026

Phần mềm
Plugin Checkmarx Jenkins bị xâm phạm trong cuộc tấn công chuỗi cung ứng
11 tháng 5, 2026

Phần mềm
Google tung ra Antigravity 2.0: Ứng dụng lập trình thế hệ mới với công cụ CLI và gói đăng ký AI Ultra
19 tháng 5, 2026
