WebAssembly - ein Jahr danach

WebAssembly - ein Jahr danach

The slides of JavaLand 2018 session this year. I've been talking about WebAssembly and its usage scenarios. (German).

219cd340806b9ddcaee60427c2d07d26?s=128

Mirko Sertic

March 13, 2018
Tweet

Transcript

  1. 4.
  2. 6.

    Mirko Sertic Software Craftsman im Web / eCommerce Umfeld Ich

    baue wirtschaftliche und moderne IT Lösungen @mirkosertic mirko@mirkosertic.de https://www.mirkosertic.de https://github.com/mirkosertic
  3. 7.
  4. 11.

    NaN === NaN // false ??? data[[]] = “ Test“

    // {"": "Test"} WTF!!! 1995 JavaScript
  5. 12.
  6. 14.
  7. 15.
  8. 18.
  9. 25.
  10. 26.
  11. 39.

    JavaScript int factorial(int n) { if (n == 0) return

    1; else return n * factorial(n-1); }
  12. 40.

    JavaScript int factorial(int n) { if (n == 0) return

    1; else return n * factorial(n-1); } WAT get_local 0 i32.eqz if i32 i32.const 1 else get_local 0 get_local 0 i32.const 1 i32.sub call 0 i32.mul end
  13. 41.

    JavaScript int factorial(int n) { if (n == 0) return

    1; else return n * factorial(n-1); } WAT get_local 0 i32.eqz if i32 i32.const 1 else get_local 0 get_local 0 i32.const 1 i32.sub call 0 i32.mul end WASM 20 00 50 04 7E 42 01 05 20 00 20 00 42 01 7D 10 00 7E 0B
  14. 42.
  15. 43.
  16. 44.
  17. 45.
  18. 46.
  19. 51.
  20. 54.

    2017 MVP nur lineares Memory, kein GC kein DOM /

    opaque Datatypes kein Threading
  21. 55.

    2017 MVP nur lineares Memory, kein GC kein DOM /

    opaque Datatypes kein Threading dynamic Linking
  22. 61.

    Bootstrap request.onload = function() { var bytes = request.response; WebAssembly.instantiate(bytes,

    { // Imports mymodule: { add: function(a, b) { return a + b; } } } ); };
  23. 62.

    Bootstrap WebAssembly.instantiate(… ).then(function(result) { // Zugriff auf Modul und Instanz

    var wasmModule = result.module; var runningInstance = result.instance; // Exportierte Funktion aufrufen runningInstance.exports.main(); });
  24. 83.
  25. 84.

    Gaming Interaktive Produktdemos Migration von „Legacy Code“ ins Web VR

    / Augmented reality Live video Simulationen Einsatzgebiete
  26. 85.