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

Rust and WebAssembly for the masses

Rust and WebAssembly for the masses

Sendil Kumar N

February 05, 2020
Tweet

More Decks by Sendil Kumar N

Other Decks in Technology

Transcript

  1. What is WASM? How WASM helps? DEMO Why Rust? Rust

    and WASM DEMO WASM Roadmap Agenda @sendilkumarn
  2. @sendilkumarn 00 61 73 6D 01 00 00 00 Native

    Code WebAssembly Binary JavaScript Javascript Engine
  3. @sendilkumarn func add is called Stack get_local $lhs LHS RHS

    get_local $rhs i32.add SUM Structured stack machine
  4. @sendilkumarn A B [1, empty x 4] [1, 2, empty

    x 3] [1, 2, 3, empty x 2] [1, 2, 3, 4, empty x 1] [1, 2, 3, 4, 5] [1] [1, 2] [1, 2, 3] [1, 2, 3, 4] [1, 2, 3, 4, 5]
  5. @sendilkumarn (module (func $add (param $lhs i32) (param $rhs i32)

    (result i32) (get_local $lhs) (get_local $rhs) (i32.add) ) )
  6. @sendilkumarn (module (func $add (param $lhs i32) (param $rhs i32)

    (result i32) (get_local $lhs) (get_local $rhs) (i32.add) ) (export “add” (func $add)) )
  7. @sendilkumarn i32 i64 f32 f64 00 61 73 6D 01

    00 00 00 WebAssembly Binary JavaScript Javascript Engine
  8. @sendilkumarn i32 i64 f32 f64 00 61 73 6D 01

    00 00 00 WebAssembly Binary JavaScript Javascript Engine
  9. @sendilkumarn 00 61 73 6D 01 00 00 00 WebAssembly

    Binary JavaScript Javascript Engine Binding JS file JS API WEB API JS SYS WEB SYS
  10. @sendilkumarn WebAssembly provides a platform to plug and play best

    parts from different languages and use them together.