Foojay Podcast #98: The End of JNI Pain, How WebAssembly Is Quietly Replacing Native Libraries in Java
JNI has been the standard answer for calling native code from Java for almost three decades. It also brings most of the headaches anyone who has wrestled with it remembers: brittle bindings, crashes that take the JVM down with them, painful cross-platform builds. WebAssembly quietly changes the shape of that problem. You get a sandboxed runtime, a portable binary format, and a far gentler integration path into the JVM.
For Foojay Podcast #98, I sat down with Andrea Peruffo, WebAssembly engineer, creator of Chicory , and maintainer of Endive under the Bytecode Alliance , to dig into where WebAssembly fits in the Java world today and where it is heading.
What we talked about
- WebAssembly fundamentals and how it actually runs inside a Java application
- WebAssembly performance compared with JavaScript implementations
- JRuby and how it uses WebAssembly under the hood
- JNI versus the Foreign Function & Memory (FFM) API versus WebAssembly as approaches to native code
- Java tooling and libraries that already lean on WebAssembly
- The history of Chicory and Endive and what each project covers
- The Bytecode Alliance and the wider open-source initiatives around WebAssembly
- Performance characteristics today and where the next gains come from
- Upcoming JVM enhancements that make WebAssembly integration smoother
- WebAssembly’s role in AI workloads on the JVM
Why it matters
For Java developers, this is one of those quiet platform shifts worth paying attention to. The combination of FFM for direct native calls and WebAssembly for sandboxed portable native code gives the JVM two strong answers to a problem that for years only had one painful one. If you have ever lost an afternoon to a JNI build, this conversation is for you.
See the Foojay Podcast #98 episode page for all info, shownotes, links, etc.