Rust 是一种系统编程语言,而 WebAssembly (Wasm) 是一种可以在现代网络浏览器中运行的代码格式。将 Rust 编译成 WebAssembly 可以让我们在浏览器中运行高性能的 Rust 代码。

基础概念

  • Rust: 一种注重安全、速度和并发性的系统编程语言。
  • WebAssembly: 一种可以在任何现代浏览器中运行的低级编程语言。

安装 Rust 和构建工具

首先,您需要安装 Rust 和构建 WebAssembly 的工具。您可以访问 Rust 官网 获取安装指南。

创建第一个 WebAssembly 项目

  1. 创建一个新的 Rust 项目:
cargo new rust_wasm_example
cd rust_wasm_example
  1. src/lib.rs 中编写 Rust 代码:
fn add(a: i32, b: i32) -> i32 {
    a + b
}

#[no_mangle]
pub extern "C" fn add_two_numbers(a: i32, b: i32) -> i32 {
    add(a, b)
}
  1. 使用 wasm-pack 构建项目:
wasm-pack build --target web

集成到 Web 项目

  1. 将生成的 .wasm 文件和 JavaScript 包装器文件复制到您的 Web 项目中。
  2. 在 JavaScript 中引入包装器文件,并使用它来调用 Rust 函数。
import * as wasm from './pkg/rust_wasm_example.js';

async function run() {
    const wasm_instance = await wasm.default();
    const result = wasm_instance.add_two_numbers(1, 2);
    console.log('Result:', result);
}

run();

扩展阅读

想要了解更多关于 Rust 和 WebAssembly 的内容,可以阅读以下文章:

Rust Logo