Skip to main content
目录

:::tip正在加紧制作中,感兴趣的朋友如果想加入请联系我,微信:xueTr54, 邮箱:jinpeng.ti@gmail.com :::

WebAssembly 技术开发概述

简介

这本书是关于 wasm-bindgen 的,它是一个 Rust 库和 CLI 工具,促进 wasm 模块和 JavaScript 之间的高级交互。wasm-bindgen 工具和 crate 只是 Rust 和 WebAssembly 生态系统的一部分。如果您对 wasm-bindgen 还不熟悉,建议先阅读《生命游戏》教程。如果您对 wasm-pack 感到好奇,您可以在这里找到相关文档。wasm-bindgen 工具在某种程度上是用于填充功能,如组件模型提案的一半,另一半是用于增强 JS 和 wasm 编译代码(当前主要来自 Rust)之间的高级交互功能。更具体地说,该项目允许 JS/wasm 与字符串、JS 对象、类等进行通信,而不仅仅是整数和浮点数。例如,使用 wasm-bindgen,您可以在 Rust 中定义一个 JS 类,从 JS 获取一个字符串或返回一个字符串。功能也在不断增加中!当前这个工具是面向 Rust 的,但底层基础是与语言无关的,希望随着时间的推移,这个工具可以用于诸如 C/C++ 之类的语言!该项目的显著特性包括:将 JS 功能导入 Rust,如 DOM 操作、控制台日志记录或性能监控。将 Rust 功能导出给 JS,如类、函数等。与其只是 u32 和浮点数相比,使用丰富类型,如字符串、数字、类、闭包和对象。自动生成 Rust 代码被 JS 使用的 TypeScript 绑定。通过 wasm-pack 的添加,您可以在 Web 上本地运行 Rust,将其作为更大应用程序的一部分发布,甚至可以将 Rust 编译为 WebAssembly 后发布到 NPM!