0%

Book Description

While it may be hard to believe, WebAssembly is the very first new language and browser runtime since the introduction of JavaScript 25 years ago that’s universally supported. And just like its predecessor, this young technology holds a lot of promise.

Colin Eberhardt shares everything you need to get started with WebAssembly—including history and context, an introduction to modules, execution, runtime, and practical instructions for using it. He’ll also take a look at what the future might hold, from serving as a runtime for blockchain (or standing on its own in that right) to serverless computing uses and much more.

  • Delve into the beginnings of JavaScript and discover how WebAssembly differs
  • Learn why WebAssembly matters and how to use it
  • Find out how others have successfully applied this technology
  • Explore WebAssembly in practice, including computer aided design, PDF rendering, 3D visualization, and more
  • See what’s ahead in terms of features and uses beyond the browser

Table of Contents

  1. What Is WebAssembly?
  2. 1. The Interactive Web, and Why We Need WebAssembly
    1. The Birth of JavaScript
    2. The Imperfect Delivery of JavaScript
    3. The Birth of WebAssembly
  3. 2. Introducing WebAssembly
    1. WebAssembly Modules
    2. WebAssembly Execution and Runtime
    3. Interoperating with the Host Environment
    4. WebAssembly Design Goals
      1. Minimum Viable Product and Use Cases
      2. Security
      3. Portability
      4. Performance
    5. Language Support
      1. C/C++ with Emscripten
      2. Rust
      3. C# with Blazor
      4. JavaScript with AssemblyScript
      5. And the Rest…
  4. 3. WebAssembly in Practice
    1. Computer Aided Design: AutoCAD
    2. PDF Rendering: PSPDFKit
    3. 3D Visualization: Google Earth
    4. Looking to the Future
  5. 4. Upcoming Features and Proposals
    1. Reference Types
    2. Garbage Collection
    3. Threads
    4. Exception Handling
    5. ECMAScript Module Integration
    6. Interface Types
    7. WebAssembly System Interface
  6. 5. Beyond the Browser
    1. Serverless
    2. Blockchain
    3. Bytecode Alliance
    4. Conclusion
18.119.122.82