Published Sep 3, 2019

SE-Radio Episode 323: Lin Clark on WebAssembly

Lin Clark delves into the transformative impact of WebAssembly, highlighting security advancements through sandboxing, and enhanced web performance for applications in areas such as gaming and computational tasks, offering a revolutionary alternative to JavaScript.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Performance

    WebAssembly is revolutionizing performance in web applications, particularly in gaming and computationally intensive tasks. explains that WebAssembly was initially developed to enhance PC gaming experiences by reducing inefficiencies and frame drops common with JavaScript 1. This technology is now expanding into other areas, such as Adobe's Lightroom and AutoCAD's lightweight web-based tools, allowing complex applications to run directly in browsers without installation 1. Additionally, WebAssembly is gaining traction in mobile browsers, although iOS support is currently limited due to the Spectre bug 2.

    The original target use case, the first one that we worked on was for PC games.

    ---

    WebAssembly's ability to handle computationally intensive tasks like compression and encryption is also attracting interest from blockchain developers and data visualization experts 2.

       

    JavaScript Comparison

    WebAssembly offers significant performance advantages over JavaScript, particularly in terms of consistency and speed. highlights that WebAssembly acts as a compiler target rather than a language, allowing languages like C, C++, and Rust to compile to it, bypassing JavaScript's dynamic typing issues 3. This results in more consistent performance across different browsers, as WebAssembly avoids the need for multiple optimizations specific to each JavaScript engine 4.

    There are certain things about JavaScript that do make it hard to make it fast.

    ---

    The history of WebAssembly is rooted in ASM.js, a subset of JavaScript designed to run faster by signaling types to the JavaScript engine. However, WebAssembly moves beyond JavaScript, providing a more efficient and universal solution for web performance 4.

Related Episodes