
2026/05/29 1:40
エンドイブ:JVM ネイティブの WebAssembly ランタイム
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
-
決定: 既存のサマリーは一般的に高品質ですが、キートイムズリストの詳細な「完了した機能」と「継続中の開発」セクションとより密接に合わせるよう、およびコミュニティリソースが言及されている点を含めることで若干改善できます。以下の改良版ではタイムラインの文脈を追加し、具体的なロードマップステータスを明確にしています。
-
改良されたサマリー:
サマリー:
Endive は Java 仮想マシン (JVM) 内で WebAssembly を直接実行することを可能にするという点で大きな進歩を表しており、従来のセキュリティを損なう恐れのある外部ネイティブライブラリの必要性を取り除きます。Dylibso Inc. によって開発され、2023 年 9 月から始まる数年間のインキュベーション作業を経て Chicory のフォークとして生まれました。Endive の目標は JVM ネイティブな WebAssembly ランタイムをデフォルトの選択肢になることです。現在の代替手段である v8 や wazero では、不安定なネイティブコードの配布が必要で、かつ Foreign Function Interface (FFI) を使用することで JVM の安全性保証から抜け出ることを強いられますが、Endive はアプリケーションが JVM が動作する場所にどこでも WebAssembly を実行できるようにし、完全な JVM の安全性、可視化ツール、およびメモリアンサンティを保証します。現在、プロジェクトは安定した API を提供しており、コアの WebAssembly 仕様の他、スレッド、ガーベージコレクション、例外処理などの高度な機能もサポートしています。ビルドタイムのコンパイラーパスを安定性のために最適化している間、チームは将来の性能向上と WASIp2 標準の実装に向けて積極的に準備を進めています。FFI に関連する摩擦を取り除くことで、Endive は組織が安全な Java エンビロンメントから退くことなく、高度な WebAssembly の機能を取り込むことを可能にします。関心のある方は公式ドキュメントをお読みいただくか、Zulip チャットに参加してプロジェクトをさらに探求することを歓迎します。
本文
Endive: JVM ネイティブな WebAssembly ランタイム
Endive は、JVM ネイティブな WebAssembly (Wasm) ランタイムです。ゼロ依存関係によるネイティブの実行か、または JNI(Java Native Interface) を介した実行のどちらもサポートします。JVM が動作する環境であればどこでも Wasm を実行可能とし、その設計の基盤には 簡素性と安全性 を置いています。
プロジェクト背景
本プロジェクトは、Dylibso, Inc. によって開発されていた Chicory のフォークです。Dylibso によるインキュベーション期間への感謝ならびに、当プロジェクトの基礎を成す貢献に対する心からのご礼を表します。
- 📞 お問い合わせ: エンドイブを利用しておられ、何かをお作りになっていることがございましたら、お気軽にご連絡ください。
- 💬 コミュニティ: Zulip チャンネルへ参加の上、ご議論に加わりたく存じます。
- 📚 ドキュメント: 公式ドキュメントをご参照いただければ、すぐにスタートが可能です。
なぜか?
Wasm モジュールを実行するための成熟したランタイムは多数存在しますが(v8, wasmtime, wasmer, wasmedge, wazero など)、Java アプリケーションへの組み込みにおいては以下の課題を抱えています。C/C++/Rust などの言語で記述されているため、ネイティブコードとして配布しなければならない必要があり、主に以下の二つの「摩擦点」が生まれます。
1. 配布の難易度
- Java ライブラリ(jar, war など)を配布する際、対応する アーキテクチャおよびオペレーティングシステム向けにネイティブバイナリー も合わせて配布する必要があります。
- このマトリックスは非常に大きく複雑となり、Java コードを送信する手軽さや元々の利点が損なわれてしまいます。
2. ランタイム時の挙動とセキュリティ
- ランタイム時に FFI(Foreign Function Interface) を用いてモジュールを実行する必要があります。
- そうしますと、セキュリティ面および可観測性について、完全に JVM の枠から脱却することになってしまいます。
- 純粋な JVM ネイティブランタイム(Endive)であれば、全てのセキュリティ保証およびメモリ保証を維持しつつ、関連するツールも引き続き利用できます。
目標
- ✅ JVM 上で動作する Wasm の デフォルトランタイム となること
- 🔒 可能な限り 安全性を高める こと
- 📖 コア Wasm 仕様 を完全にサポートすること
- ⚡ 非常に制限の厳しい環境を含む、あらゆる JVM 環境で ネイティブコードなし で Wasm を実行しやすくすること
- 🔗 Java(および他のホスト言語)との統合を 容易かつ自明のもの にすること
ロードマップ
エンドイブの開発は、2023 年 9 月に始まった Chicory の何年もの作業の積み重ねの上に成り立っています。開発活動の詳細は Zulip からご連絡ください。
✅ 完了済み機能
- Wasm バイナリーのパース処理
- シンプルなバイトコードインタプリタの実装
- Wasm テストスイートから JUnit テストケースを生成する機能
- インタプリタにおける全テストの合格(正しさの確認)
- 検証ロジック(安全性の担保)
- v1.0 API(安定性と開発者体験の向上)
- 相互接続されたインタプリタとコンパイラ「エンジン」への分離
- コンパイルパスにおける仕様の一貫性の確保
- WASI p1 サポート(テスト生成機能を含む)
- SIMD 指令セットのサポート
- Tail Call の実装(インタプリタおよびコンパイラ両方)
- エクセプションハンドリング
- スレッドサポート
- 拡張定数表現のサポート
- GC(Garbage Collection)のサポート
- マルチメモリ空間の支持
🚧 進行中機能
- パフォーマンス向上
- WASI p2 サポート
プレスリリース・関連記事
Chicory の発展過程における主な発表記事とイベント記録です。
| タイトル | コンテキスト |
|---|---|
| Chicory: A Zero Dependency Wasm Runtime for the JVM on Java Advent 2023 | 初出 / 概要紹介 |
| Chicory - a WebAssembly Interpreter Written Purely in Java with Zero Native Dependencies on InfoQ | Tech News |
| Chicory: Write to WebAssembly, Overcome JVM Shortcomings on The New Stack | Tech Analysis |
| Meet Chicory, exploit the power of WebAssembly on the server side! (Devoxx BE 2024) | Conference Talk |
| WebAssembly, the Safer Alternative to Integrating Native Code in Java on InfoQ | Security Focus |
| Chicory: Creating a Language-Native Wasm Runtime (Wasm I/O 2024) | Deep Dive |
| Chicory, a JVM Native WebAssembly Runtime (Dylibso Insiders) | Insider View |
| WebAssembly the ace up the sleeve of your Java and Quarkus apps (Quarkus Insights 206) | Ecosystem Integration |
| The Chicory Photo Album: Celebrating 1.0.0... on Java Advent 2024 | Anniversary / Milestone |
| Wazero vs Chicory: An In-Depth Comparison... (FOSDEM 2025) | Comparative Analysis |
| WASM in the Enterprise: Secure, Portable, and Ready for Business (QCon London 2025) | Enterprise Use Case |
| A Go CEL Policy Engine in Java, with Quarkus Chicory on Quarkus Blog | Specific Framework Integration |
| Introduction to the Chicory Native JVM WebAssembly Runtime on Baeldung | Tutorial / Guide |
| Bring WebAssembly to the JVM... on Java Advent 2025 | Ecosystem Growth |
| The State of Zero-Dependency Wasm: A 2026 Update... (Wasm I/O 2026) | Future Outlook |
先行技術
以下のプロジェクトが Endive の開発に影響を与えています:
- asmble
- kwasm
- wazero
エンドイブを採用している方々
エンドイブを利用されている組織およびプロジェクトの完全なリストについては、ADOPTERS.md をご参照ください。