A brief overview of what is web assembly and what was before
Size: 301.19 KB
Language: en
Added: Apr 02, 2020
Slides: 11 pages
Slide Content
WebAssembly Brief overview
Problem Sell feature - Fast code execution Faster than JS Zero configuration Safe Cross platform Easy to use
Before WASM Winners JavaScript V8 HTML5 L osers ActiveX Flash Silverlight asm.js Native client Java applets
About Asm.js Wikipedia - asm.js is a subset of JavaScript designed to allow computer software written in languages such as C to be run as web applications. C/C++ => LLVM => Emscripten => asm.js
What is WebAssembly? WebAssembly is a binary instruction format for a stack-based virtual machine. Binary Virtual machine Stack-based (no heap)
WebAssembly High-Level Goals Define a portable, size- and load-time-efficient binary format threads, zero cost exceptions execute in the same semantic universe as JavaScript allow synchronous calls to and from JavaScript define a human-editable text format to support View Source functionality
Wasm Fiddle
WASM and Javascript Only JS loads and executes WASM WASM and JS share the same sandbox
Supported by browsers
Supported by languages C/C++ - emscripten Rust Java - TeaVM, JWebAssemly, Bytecoder Kotlin - Kotlin Native LLVM backend Go .Net, C#, F# - Blazor https://github.com/appcypher/awesome-wasm-langs
WASM frameworks Emscripten, Rustwasm - low level, not convenient to work with html and css. Good for heavy work. Not UI. Blazor - inspired by VueJS. Most complete solution for typical web applications.