InfoQ Homepage   	  		  			  			                  Articles                 		  		WebAssembly the Safer Alternative to Integrating Native Code in Ja

WebAssembly the Safer Alternative to Integrating Native Code in Java

submited by
Style Pass
2024-08-14 14:00:07

InfoQ Homepage Articles WebAssembly the Safer Alternative to Integrating Native Code in Java

When working in a managed ecosystem like the JVM, we often need to execute native code. This usually happens if you need crypto, compression, database, or networking code written in C.

Take SQLite, for example, the most widely deployed codebase frequently used in JVM applications according to their claim. But SQLite is written in C, so how does it run in our JVM applications?

Dynamic linking is the most common way we deal with this problem today. We’ve been doing this in all our programming languages for decades, and it works well. However, it creates a host of problems when used with the JVM. The alternative way, until not long ago, was porting the code base to another programming language, which comes with its challenges, too. 

This article will explore the downsides of using native extensions in the JVM and briefly touch on the challenges of porting a code base. Further, we’ll present how embedding WebAssembly (Wasm) into our applications can help us restore the promise of safety and portability the JVM offers without rewriting all our extensions from scratch. 

Leave a Comment