electron-wasm-rust-example icon indicating copy to clipboard operation
electron-wasm-rust-example copied to clipboard

A minimal Electron + WebAssembly (WASM) + 🦀 Rust example.

electron-wasm-rust-example

A minimal Electron + WebAssembly (WASM) + Rust example.

This example application is based on:

  • https://gist.github.com/jarek-foksa/0f6e82bdaf8fb1962c9e14035a8725e4
  • https://github.com/rustwasm/wasm-bindgen/tree/master/examples/without-a-bundler
  • https://github.com/anderejd/wasm-bindgen-minimal-example

Rust setup

  1. Install Rust https://www.rust-lang.org/
  2. Add the WASM target, rustup target add wasm32-unknown-unknown
  3. Install wasm-bindgen, the same version as in this Cargo.toml, cargo install -f --version 0.2.47 wasm-bindgen-cli

NPM setup

  1. Install Node.js & NPM
  2. Clone this repository git clone [email protected]:anderejd/electron-wasm-rust-example.git
  3. Enter the new directory cd electron-wasm-rust-example
  4. Download/install npm dependencies (Electron) for this example, npm install https://electronjs.org/docs/tutorial/installation

Build the Rust code into WASM

Use the build.sh or build.ps1 script to build the WebAssembly module.

Run the app during development

npm start

Packaging the application for end-users

TODO: Depend on and add scripts(?) for https://github.com/electron-userland/electron-builder, see issue #7.