wasm-bindgen/examples
2018-09-17 17:38:07 -07:00
..
add Examples: use html-webpack-plugin 2018-09-11 08:42:22 +03:00
asm.js Examples: use html-webpack-plugin 2018-09-11 08:42:22 +03:00
canvas Add a top-level web_sys::window function 2018-09-17 17:36:53 -07:00
char Examples: use html-webpack-plugin 2018-09-11 08:42:22 +03:00
closures Examples: use html-webpack-plugin 2018-09-11 08:42:22 +03:00
comments Examples: use html-webpack-plugin 2018-09-11 08:42:22 +03:00
console_log Examples: use html-webpack-plugin 2018-09-11 08:42:22 +03:00
dom Examples: use html-webpack-plugin 2018-09-11 08:42:22 +03:00
duck-typed-interfaces guide: Add section on working with duck-typed interfaces 2018-09-11 16:40:32 -07:00
fetch Tweak package.json for fetch example 2018-09-17 17:38:07 -07:00
guide-supported-types-examples Examples: use html-webpack-plugin 2018-09-11 08:42:22 +03:00
hello_world Examples: use html-webpack-plugin 2018-09-11 08:42:22 +03:00
import_js Examples: use html-webpack-plugin 2018-09-11 08:42:22 +03:00
julia_set Examples: use html-webpack-plugin 2018-09-11 08:42:22 +03:00
math Examples: use html-webpack-plugin 2018-09-11 08:42:22 +03:00
no_modules Remove use_extern_macros features 2018-08-19 14:33:01 -07:00
paint Add a top-level web_sys::window function 2018-09-17 17:36:53 -07:00
performance Examples: use html-webpack-plugin 2018-09-11 08:42:22 +03:00
smorgasboard Examples: use html-webpack-plugin 2018-09-11 08:42:22 +03:00
wasm-in-wasm Examples: use html-webpack-plugin 2018-09-11 08:42:22 +03:00
webaudio Merge pull request #703 from lnicola/guide-publish-app 2018-09-12 09:33:39 -07:00
README.md Fix some references I missed 2018-09-02 22:32:19 -04:00

Examples

This directory contains a number of examples of the #[wasm_bindgen] macro and how to display them in the browser. Each directory contains a README with a link to https://webassembly.studio so you can also explore the example online (apologies if they're out of sync!), and each directory also contains a build.sh which assembles all the relevant files locally. If you open up index.html in a web browser you should be able to see everything in action when using build.sh!

The examples here are:

  • add - an example of generating a tiny wasm binary, one that only adds two numbers.
  • asm.js - an example of using the wasm2js tool from binaryen to convert the generated WebAssembly to normal JS
  • char - an example of passing the rust char type to and from the js string type
  • closures - an example of how to invoke functions like setInterval or use the onclick property in conjunction with closures.
  • comments - an example of how Rust comments are copied into js bindings
  • console_log - a showcase of #[wasm_bindgen] importing classes and how to bind console.log
  • dom - an example of accessing the global document object and appending HTML to it
  • fetch -- how to use the Fetch API to make async http requests
  • hello_world - the "hello world" of #[wasm_bindgen], aka throwing up a dialog greeting you
  • import_js - an example of importing local JS functionality into a crate
  • math - like console_log except showing how to import Math-related functions instead
  • no_modules - an example of how to use the --no-modules flag to the wasm-bindgen CLI tool
  • performance - how to import APIs like performance.now() and time various operations in Rust
  • smorgasboard - a bunch of features all thrown into one, showing off the various capabilities of the #[wasm_bindgen] macro and what you can do with it from JS
  • wasm-in-wasm - how to interact with namespaced APIs like WebAssembly.Module and shows off creation of a WebAssembly module from Rust
  • webaudio - how to use the Web Audio APIs to generate sounds