加载中...

| 类别 | 科技名词 |
| 领域 | 信息技术 |
WebAssembly(简称Wasm)是一种为栈式虚拟机设计的可移植二进制指令格式。它由W3C标准化,旨在为Web提供一种安全、高效、与语言无关的编译目标,使C、C++、Rust等语言编写的程序能够在浏览器中以接近原生的速度运行。Wasm并非取代JavaScript,而是与之互补。[1]
开发者将源代码编译为紧凑的Wasm字节码模块,浏览器或运行时对其进行验证后,通过即时编译(JIT)或预编译转换为机器码执行。Wasm在线性内存模型中运行,采用沙箱隔离,模块不能直接访问宿主资源,必须通过显式导入的接口与外界交互。WASI(WebAssembly System Interface)进一步定义了文件、网络等系统能力的标准化接口,使Wasm得以脱离浏览器在服务端与边缘环境运行。
Wasm的优势包括执行高效、加载快、体积小、强沙箱安全模型以及语言无关性。其局限在于早期对DOM的直接访问、垃圾回收语言支持与多线程能力有限,这些正通过持续演进的提案逐步完善。Wasm以确定性与可移植性为设计目标。
典型应用包括浏览器中的高性能计算(图像/视频处理、游戏引擎、CAD)、将既有原生代码移植至Web、边缘计算函数、插件沙箱以及可移植的跨平台运行时,在云原生与无服务器领域亦受到关注。

| 类别 | 科技名词 |
| 领域 | 信息技术 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧