如果能够将Java字节码转换为WebAssembly,并从浏览器运行Java VM,那么Java Runtime是否可以针对Web进行编译,而不是在一个广泛不受支持的小程序中?我知道还有一种比这更简单、更快的选择(JWebAssembly(,但这更多的是关于原理而不是应用程序。我只是好奇这是否会发生。
这个问题与如何使用WebAssembly在浏览器中运行C#有一些显著的相似之处。Java&C#分别在它们自己的虚拟机JRE和.Net CLR中运行。
为了在WebAssembly中运行C#,Blazor项目采用了一个开源CLR实现,并将其编译到WebAssembly。这允许C#DLL在浏览器中运行。
完全相同的解决方案可以用于在浏览器中运行Java,然而,关键很可能是找到一个合适的开源JRE实现,该实现可以编译到WebAssembly。