Annonce du projet Endive
Le 26 mai 2026, la Bytecode Alliance a officialisé le lancement d’Endive, une nouvelle étape pour l’intégration de WebAssembly (Wasm) dans l’environnement Java (JVM). Endive est un fork du projet Chicory, qui depuis septembre 2023 prouvait la faisabilité d’exécuter du code WebAssembly sur la JVM sans aucune dépendance native. En deux ans, Chicory était devenu un élément d’infrastructure utilisé par des projets comme JRuby (analyseur syntaxique Prism), un pilote SQLite en Java pur, PostgreSQL embarqué, un runtime QuickJs en Java, ou encore TrinoDB pour ses fonctions utilisateur Python.
Vocation et hébergement
Endive hérite de la vision, du code et de la communauté de Chicory, mais change de gouvernance : il devient un projet hébergé par la Bytecode Alliance, une organisation neutre dédiée aux fondations sécurisées, portables et modulaires de WebAssembly, WASI, des runtimes, compilateurs et outils de langage. Le choix de la Bytecode Alliance garantit une gouvernance indépendante des fournisseurs, alors que Chicory était incubé comme une collaboration inter-entreprises open source. La JVM n’est pas une cible d’intégration marginale : c’est un écosystème de runtime majeur avec des décennies d’expérience en production. Pour que WebAssembly devienne un format de composants inter-langages durable, la JVM doit en faire partie, affirme le communiqué.
Redline et Cranelift : performance native sans quitter Java
L’étape majeure suivante est l’intégration dans la version principale du compilateur expérimental Redline. Redline utilise Cranelift, le même moteur de compilation que Wasmtime, pour compiler WebAssembly en code machine natif. Cela ouvre la voie à des performances comparables à celles des runtimes Rust/Wasmtime, tout en conservant l’expérience Java d’empaquetage et d’intégration qui faisait la valeur de Chicory. Avec Endive, l’exécution WebAssembly sur JVM ne nécessite plus de choisir entre intégration Java et performance : le même runtime offre les deux. De plus, sur Java 25 et versions ultérieures, Redline n’a besoin d’aucune dépendance supplémentaire grâce à la Foreign Function & Memory API (Panama), devenue partie intégrante de la plateforme.
Le Component Model et la JVM
Au-delà, Endive vise à implémenter pleinement le Component Model sur la JVM. Le Component Model définit des interfaces typées et neutres entre les composants, les hôtes et les bibliothèques. Son implémentation permettra aux développeurs Java de consommer des composants écrits en Rust, Go, C, JavaScript ou d’autres langages via des contrats explicites, plutôt que des API de plugins sur mesure ou des liaisons natives. Un service Java pourrait charger un composant, n’exposer que les capacités nécessaires, l’appeler via des liaisons typées générées, l’observer avec les outils JVM et le déployer selon les workflows Java habituels. La JVM devrait être l’un des premiers runtimes gérés à poursuivre une intégration profonde du Component Model.
Prochaines étapes
Le dépôt Endive est déjà disponible. La première version privilégiera une forte continuité avec la dernière version de Chicory, en préservant la compatibilité et en documentant clairement la migration. Avant cette sortie, le projet passera par les vérifications de sécurité, de gouvernance et de chaîne d’approvisionnement attendues pour les projets hébergés par la Bytecode Alliance. Les axes de développement annoncés sont : la fusion du compilateur Redline dans la version principale ; le renforcement de la conformité aux spécifications, notamment le support de WasmGC ; l’approfondissement du support de WASI et du Component Model pour les applications JVM.
Licence et communauté
Endive reste sous licence Apache-2.0. Son ambition est de rendre WebAssembly sur la JVM neutre, durable, sécurisé, performant et prêt pour le Component Model. La communauté est invitée à contribuer via le dépôt GitHub officiel.