CheerpJ 3.0标志着在浏览器中利用WebAssembly布置运用程序取得重大进展,特别是Java运用。

译自CheerpJ 3.0: Run Apps in the Browser with WebAssembly,作者 B. Cameron Gain 是ReveCom Media的创始人和首席分析师。 20世纪80年代初,他黑掉了太空侵略者控制台,能够整天打游戏只需25美分,从那时起他就对核算机入神。

CheerpJ3.0展现了WebAssembly在浏览器中的一个风趣的运用,表明其有潜力用于布置和运转用Java编写的杂乱运用程序和运转时环境。开发人员能够用任何言语创立运用程序,并经过简略点击就可打包布置,使终究用户能够测试和运用。

尽管CheerpJ 3.0的开发仍在持续,但它代表了用WebAssembly在浏览器中布置运用程序的重大前进,特别是用Java。这补充了其他侧重于加密和能够将用C 编写的运用程序布置到浏览器中的项目。

CheerpJ 3.0: 在浏览器顶用WebAssembly运转运用

跟着CheerpJ 3.0的发布,该公司宣称Java客户端运用程序,例如Java小程序、Java Web Start运用程序和独立的Java运用程序,能够在现代浏览器上无修改地运转,无需本地Java安装。其理念是使运转时环境(在本例中是Java)能够更好地运转,就像用户拥有端点服务器的资源能够自由发挥相同——在浏览器中。

“就像Docker答应您在核算机上运转二进制文件的容器相同,您需要拥有使您能够在浏览器中以与通常在一般平台操作系统上相同的方法运转二进制作业负载的技术。”Leaning Technologies的首席履行官兼创始人Stefano Marco Maria De Rossi向The New Stack透露。

设置CheerpJ 3.0相当简略,文档中有明晰的步骤概述,且与绝大多数浏览器兼容,该公司称。在游乐场方面,运用CheerpJ iText兼并PDF文件十分简略。用户只需将PDF文件输入API,点击几次鼠标,文件就在“浏览器中完结兼并”。您需要先拜访iText演示页面:

CheerpJ 3.0: 在浏览器顶用WebAssembly运转运用

上传您要兼并的PDF文件,并按提示兼并文档:

CheerpJ 3.0: 在浏览器顶用WebAssembly运转运用

按提示兼并PDF文件即可:

如上例所示,能够在CheerpJ 3.0的WebAssembly模块中编写和实现Java,以便跨浏览器分发和履行任何用Java编写的运用程序,至少在理论上是这样。近期内会有更多用CheerpJ在浏览器中运转的风趣运用程序。

Leaning Technologies供给的一个更风趣的例子,展现了它如何经过CheerpJ在浏览器中启用Java,那就是Browsercraft,它答应在浏览器中运转Minecraft游戏,以便用户能够直接(免费)玩游戏:

CheerpJ 3.0: 在浏览器顶用WebAssembly运转运用

引擎盖下

CheerpJ 3.0: 在浏览器顶用WebAssembly运转运用

文档中将CheerpJ 3.0描绘为一个在浏览器中编译Java字节码为JavaScript的WebAssemblyJava虚拟机(如上所述),其组件包括:

  • 一个用于Java字节码的WebAssembly JVM和即时编译器。类文件中包括的代码进行编译和优化。JIT编译器支持比如内联和动态虚拟化等高级优化。
  • OpenJDK的完整且未修改的构建版本。
  • 一个虚拟化的系统层,包括:
    • 经过HTTP拜访资产的虚拟化文件系统,经过IndexedDB供给本地耐久化R/W存储,经过/str/与JavaScript数据交互。
    • 经过Tailscale供给虚拟化网络支持。支持服务器和客户端运用程序。

正如De Rossi所指出的,在不运用WebAssembly的情况下,开发人员必须分别针对x86、Linux或其他目标体系结构运用运转时代码,无论是运用Rust、C 、Python、Java仍是任何其他言语。代码被编译以在不同平台上运转。可是Wasm代表了一个统一的目标。“要害差异在于,Wasm是绝无仅有的,不论您的浏览器是Linux上的Chrome仍是macOS上的Safari亦或Windows上的Firefox。” De Rossi说。“终究,Wasm创立了这种笼统,答应东西制造商为几乎任何言语创立东西。是的,因为Wasm变得越来越强壮,越来越类似于本机平台,未来会呈现越来越多的言语。”

本文在云云众生yylives.cc/)首发,欢迎大家拜访。