#nodejs #web-page #web #wasm #javascript

wap

Wap 库允许您仅使用 Rust 编写网页应用程序

4 个版本

使用旧的 Rust 2015

0.1.3 2017年12月14日
0.1.2 2017年12月12日
0.1.1 2017年12月2日
0.1.0 2017年11月30日

#49 in #web-page

MIT/Apache

34KB
838

wap

Wap 库允许您仅使用 Rust 编写网页(或 node.js)应用程序。您需要启动的只是配置了标题和链接到 .wasm 文件的样板文件 wap.js 和 html。

目标是仅针对 Rust 的 wasm32-unknown-unknown。对于跨平台项目,可能更好的选择是 wasm32-unknown-emscripten。

Wap 函数提供了 wasm 对 JavaScript 环境的底层调用。它不直接提供用于轻松访问 API(DOM)的高级库;可以在此基础上创建。

注意

  • 0.1.x 版本非常不稳定,处于开发中。
  • 发布说明
  • 大量的 JavaScript 不规则性,因此可能需要进行重大更改。
  • 方向未知,并不旨在创建最高速的代码,但作为一个起点是好的。将保持最小化。
  • 强烈建议阅读源代码。
  • 您始终可以调用 eval。

用法

  • rustup target add wasm32-unknown-unknown --toolchain nightly
  • cargo new --bin NAME
  • 编辑 Cargo.toml
    • [dependencies]
  • 复制并编辑 hello_world_release.html 为 NAME_release.html 到项目根目录
    • 标题
    • hello_world.wasm 到 NAME.wasm
  • 复制 hello_world.rs 到 src/main.rs
  • 添加 .cargo/config
    • [build]
    • target = "wasm32-unknown-unknown"
  • rustup run nightly cargo build --release
  • 在 Firefox 中打开
  • Chrome 需要网络服务器(例如 python -m SimpleHTTPServer )

node.js

  • node -e 'require("./target/wasm32-unknown-unknown/release/wap.js").wap("target/wasm32-unknown-unknown/release/examples/hello_node.wasm")'

许可证

Apache 2.0 和 MIT。wap.js 公共领域

无运行时依赖项