Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RustでつくるWebアプリケーション(2)

 RustでつくるWebアプリケーション(2)

More Decks by NearMeの技術発表資料です

Other Decks in Programming

Transcript

  1. 6 WebAssembly in Rust • Rustで定義した関数をJavaScriptで扱う → #[wasm_bindgen]マクロを用いる #[wasm_bindgen] pub

    fn greet(name: &str) { alert(&format!("Hello, {}", name)); } 
 → 簡単にRustでWasmを利用できる!!

  2. 7 WebAssembly in Rust • JavaScriptでは... → greet関数とalert関数が以下のように扱われている /** *

    @param {string} name */ export function greet(name) { const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); const len0 = WASM_VECTOR_LEN; wasm.greet(ptr0, len0); } export function __wbg_alert_8755b7883b6ce0ef(arg0, arg1) { alert(getStringFromWasm0(arg0, arg1)); };