与 JavaScript 不同,Wasm 代码可以针对各种硬件架构进行编译,从而确保了跨不同设备和平台的可移植性。此外,它支持多种编程语言,允许它们之间进行无缝交互。
早在 2017 年,主流浏览器都已经支持 WebAssembly。随着 WebAssembly 的蓬勃发展,各种编程语言也在增加对它的支持。2021 年,WebAssembly 开源项目开始支持 WasmGC(垃圾回收),为实现 WebAssembly 支持像 Java、Kotlin 这样的前端语言做准备。同年,Kotlin 程序语言开发团队更新了发展路线,其中的一个重点就是增加 WebAssembly 支持。
近日,谷歌在Chrome中启用了WebAssembly的垃圾回收功能,这一举动很可能成为一个风向标,引领更多 Web 开发人员使用WasmGC。
WasmGC 到底有多厉害?能让连续 11 年被评为最流行开发语言的 JavaScript “地位不保”?WebAssembly 允许开发人员使用 JavaScript 以外的高性能编程语言来开发 Web 应用程序。Wasm 中的垃圾回收功能更是“锦上添花”,可以让虚拟机自动管理内存,一定程度上减轻了开发人员的负担,让他们更加专注于 Web 应用程序核心功能的开发。
软件开发人员Eloff在X上发帖称:“WebAssembly GC意义非凡,可以脱离 Web 端,在搭载了不同硬件和操作系统的各个平台运行,真正实现了“一次编译,多处运行”。
1. WasmGC 到底有多厉害
将语言移植到新的体系结构通常需要重新编译 VM,作为一项新技术,WasmGC 允许开发人员定义结构体和数组类型并执行操作,例如创建它们的实例、读取和写入字段、在类型之间进行转换等。
这些对象