JS with RS
Yew centrally operates on the idea of keeping everything that a reusable piece of UI may need in one place - rust files, while also keeping the underlying technology accessible where necessary.
As of today, WebAssembly is not feature-complete for DOM interactions. This means even in Yew we sometimes rely on calling JavaScript. What follows is an overview of the involved libraries.
wasm-bindgen#
wasm-bindgen is a library and tool that bridges calls between JavaScript and Rust functions.
We highly recommend you take a look at their documentation and our quick guide.
web-sys#
The web-sys crate provides bindings for Web APIs and allows us to write JavaScript code in a rustyfied and safe way.
Example:
- JS
- RS
let document = window.
use UnwrapThrowExt;
use window;
let document = window
.expect_throw
.document
.expect_throw;
Once again we highly recommend you take a look at their documentation and our quick guide.