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

MunichDotNet - WebAssembly and Blazor - 2018-05-29

MunichDotNet - WebAssembly and Blazor - 2018-05-29

Slides for my talk about WebAssembly and Blazor at the DotNet Usergroup Munich, on May the 29th, 20018.

Sebastian Gingter

May 29, 2018
Tweet

More Decks by Sebastian Gingter

Other Decks in Technology

Transcript

  1. 8 ▪ Strict subset of JavaScript that can be used

    as a low-level, efficient target language for compilers ▪ Effectively describes a sandboxed virtual machine for memory-unsafe languages like C or C++ ▪ Combination of static and dynamic validation allows JavaScript engines to employ an ahead-of- time (AOT) optimizing compilation strategy for valid asm.js code ▪ ▪ .NET im Browser
  2. 10 ▪ Low-level bytecode for the web – but why?

    ▪ Because JavaScript (but not a replacement for JavaScript!) ▪ Bring any language into the browser ▪ Superior performance ▪ Goals ▪ Fast, efficient, portable ▪ Readable and debuggable ▪ Use existing sandboxing tools ▪ Don’t break the web ▪ Binary (.wasm) & text (.wat) format ▪ Officially open source ▪ http://webassembly.github.io/spec/core/index.html .NET im Browser
  3. 11 ▪ Entire code base in WebAssembly ▪ Main app

    frame in WebAssembly, UI in JavaScript / HTML / CSS ▪ Re-use existing code by targeting WebAssembly, embedded in larger JavaScript / HTML application ▪ Anything from simple helper libraries, to compute-oriented task offload .NET im Browser
  4. 13 ▪ ▪ compiler and toolchain infrastructure library for WebAssembly,

    written in C++ ▪ ▪ LLVM-to-JavaScript-or-WASM compiler ▪ ▪ ▪ ▪ ▪ ▪ .NET im Browser https://developer.mozilla.org/en-US/docs/WebAssembly/Concepts
  5. 14 ▪ ▪ ▪ ▪ ▪ ▪ ▪ .NET im

    Browser http://www.mono-project.com/news/2018/01/16/mono-static-webassembly-compilation/