Chicory - JVM 네이티브 웹 어셈블리 런타임
(github.com/dylibso)- 별도의 의존성 없이 순수 Java로 구현된 Wasm 런타임
- JVM이 동작하는 어디서든 Wasm 모듈을 구동 가능
- 자신의 프로젝트 안에 간편하게 연동이 가능하여 플러그인 시스템을 쉽게 구현할 수 있음
- 웹 어셈블리 모듈은 샌드박스 환경에서 실행되므로 설계상 보안 면에서 유리함. 모든 리소스에 대해서 제어 가능
- Wasm 코어 스펙을 완전하게 지원하는 것을 지향함
- 다른 Wasm 런타임의 단점
- v8, wasmtime, wasmer, wasmedge, wazero 등 다양한 Wasm 런타임이 있지만, 대부분 네이티브 언어로 작성되어 배포 시 OS/아키텍처별 바이너리를 포함해야 함
- 네이티브 코드와 FFI(외부 함수 호출)를 사용하면 JVM의 도구, 보안 모델, Observability에서 벗어날 수 있음