Slide 1

Slide 1 text

WebAssemblyͷ ͜Ε·Ͱͱ͜Ε͔Β

Slide 2

Slide 2 text

ࣗݾ঺հ • Kohno Fumiya ( @fnwiya ) • Japan Venture Research Co., LTD. • React Native & Ruby on Rails

Slide 3

Slide 3 text

WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable target for compilation of high-level languages like C/C++/Rust, enabling deployment on the web for client and server applications. https://webassembly.org/

Slide 4

Slide 4 text

https://brendaneich.com/2015/06/from-asm-js-to-webassembly/

Slide 5

Slide 5 text

Roadmap • ☑ MVP • ☑ Supported by major browser engines • Next Steps • Start work on post-MVP features

Slide 6

Slide 6 text

Features to add after the MVP • Threads • GC • ECMAScript module integration • Host bindings • wasm-bindgen • …etc

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

High-Level Goals • Define a portable, size- and load-time-efficient binary format to serve as a compilation target which can be compiled to execute at native speed by taking advantage of common hardware capabilities available on a wide range of platforms, including mobile and IoT. • Design to support non-browser embeddings as well. • https://github.com/ewasm

Slide 9

Slide 9 text

High-Level Goals Design to execute within and integrate well with the existing Web platform: • execute in the same semantic universe as JavaScript; allow synchronous calls to and from JavaScript • access browser functionality through the same Web APIs that are accessible to JavaScript

Slide 10

Slide 10 text

☓ WebAssmebly VS JavaScript ○ WebAssmebly — JavaScript https://webassembly.org/docs/faq/#is-webassembly-trying-to-replace-javascript

Slide 11

Slide 11 text

More integrated with JS Support more non-browser embeddings More community!