The conception of WASM
What about ASM?
What’s the big idea?
It’s not all fun and games
A compelling use case for WASM has largely been for optimizing games in the browser. This makes sense because games rely on performance critical functionality like high fidelity renders and fast refresh rates. WASM therefore let game developers execute at native speed and take advantage of common hardware capabilities all while operating within the constraints of a browser. Considering the speed optimizations and native functionality that WASM gives developers access to, there are many more applications that WASM can be used for. One of these applications that I personally am most excited about is the applicability of WASM for progressive enhancement and PWAs.
At a basic level, progressive enhancement is the deliberate strategy of building apps on the foundation of making it usable everywhere. This means that applications are built with a base level of user experience with added, advanced functionality for browsers that support it. PWAs build on the idea of progressive enhancement and provide a well-defined structure of how to build for progressive enhancement—things like service workers, HTTPs and so on. While PWAs recommend making web applications native-like, WASM makes it possible for native applications to run seamlessly in the browser, thereby boosting the possibilities of what a PWA can look like. For instance, with WASM, you could sandbox business logic that would otherwise be squirreled away in a separate service call to an external API into a WASM module that you can run natively from the application itself. Users now have access to incredibly powerful and efficient tools from within their browser and don’t have to download yet another application to get full native functionality. Not only that, by delivering highly performant (and safe!) applications, WASM champions the web and advocates for it as the default platform for running applications.
Heart open, Eyes bright
It is undeniable at this point that WebAssembly is (and will be) a huge game changer for web development. As a lower level language, it efficiently handles more computationally heavy tasks and allows us to so more, with less. Though we’re still in the early stages of WASM, the future looks bright. I can’t make many strong predictions for the future that Web Assembly brings (though Lin Clark over at Mozilla may know!), but I can say that when you bet on the web, you always win.