Jco 1.0 版本现已正式发布,稳定了 Wasm 组件的 Node.js 运行时,以及将其他语言编写的 Wasm 组件导入 JavaScript 的工具链。
项目团队计划继续稳定 Jco 的更多功能,其中有些功能已经可以尝试使用,包括:对浏览器的 native 支持,以及将 JavaScript 代码编译成 WebAssembly 的 native 支持。其他功能,如对 WebAssembly registry 的支持尚未开始,预计将在不久后添加。
Jco 是一个为 WebAssembly 组件和 WASI 0.2 1 而构建的原生 Javascript WebAssembly 工具链和运行时。可以在 Node.js 内部原生运行 Wasm Components,从而可以轻松地使用不同编程语言编写的库,并使用 Node.js 运行时执行它们。通过实现整个 WASI 0.2 API surface,这些组件可以访问 Node.js 运行时中可用的网络、文件系统和其他系统 API。Jco 的目标是成为 JavaScript 中所有组件相关操作的综合工具。
Jco 是第三个 JS 工具链项目,属于字节码联盟(Bytecode Alliance)。其他两个项目分别是:Javy 和 ComponentizeJS。
官方提供了一个使用 Jco 的示例:将一个 Rust 小程序编译成 WASI 0.2.0 组件,安装 Jco for Node.js,然后将新构建的组件嵌入运行时。详情可查看此处。
公告指出,目前已有多个项目已经成功使用 Jco 来构建他们的项目。其中一个比较令人印象深刻的用例是:使用 Jco 将 YoWASP FPGA 工具链移植到浏览器,该项目使得用户可以通过 WebUSB 直接从浏览器 flash FPGA 硬件,甚至可以在移动设备上运行。
更多详情可查看官方博客。