Nick Fitzgerald 1d9a7dfdee Make the README a landing page
All the details are moved into the guide, where they can be properly organized
and have a table of contents.
2018-06-19 12:05:52 -07:00
2018-06-19 12:05:27 -07:00
2018-06-15 12:55:37 -05:00
2018-06-15 12:55:37 -05:00
2018-03-29 08:27:31 -07:00
2018-06-18 12:44:46 -07:00
2017-12-18 14:45:06 -08:00
2017-12-18 14:45:06 -08:00
2018-06-15 12:55:37 -05:00
2018-06-15 12:55:37 -05:00
2018-06-19 12:05:52 -07:00

wasm-bindgen

Facilitating high-level interactions between wasm modules and JavaScript.

Introduction blog post: "JavaScript to Rust and Back Again: A wasm-bindgen Tale"

Build Status Build status API Documentation on docs.rs

Import JavaScript things into Rust and export Rust things to JavaScript.

src/lib.rs:

#![feature(proc_macro, wasm_custom_section, wasm_import_module)]

extern crate wasm_bindgen;
use wasm_bindgen::prelude::*;

// Import the `window.alert` function from the Web.
#[wasm_bindgen]
extern {
    fn alert(s: &str);
}

// Export a `greet` function from Rust to JavaScript, that alerts a
// hello message.
#[wasm_bindgen]
pub fn greet(name: &str) {
    alert(&format!("Hello, {}!", name));
}

Use exported Rust things from JavaScript!

index.js:

// Asynchronously load, compile, and import the Rust's WebAssembly
// and JavaScript interface.
import("./hello_world").then(module => {
  // Alert "Hello, World!"
  module.greet("World!");
});

Guide

📚 Read the wasm-bindgen guide here! 📚

License

This project is licensed under either of

at your option.

Contribution

See CONTRIBUTING.md for hacking!

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Description
No description provided
Readme 18 MiB
Languages
Rust 98.5%
JavaScript 1%
WebAssembly 0.3%
HTML 0.1%