Why Does Wasm Actually Matter?
Because Wasm sits so much closer to the hardware, it offers a level of performance that’s barely distinguishable from native apps. This opens the web to a new class of performance-critical applications. If it runs on your desktop, it could run in the browser without any perceptible performance slowdown.
Do We Need More Web Performance?
There will always be an argument that some apps are simply best suited to desktop use. The web provides its own benefits, though, particularly around broad distribution.
Publishing your app on the web gives you the widest possible audience. Anyone can access it from whichever device they own. This increases convenience for your users and means that you have one codebase to maintain.
The real question isn’t whether we need more web performance: Instead, we should be asking whether we need more applications on the web. To answer that question, we can look to functionality-heavy sites that have already adopted Wasm.
AutoCAD is computer-aided design software for architects and engineers. The latest web version debuted at Google I/O in 2018. It uses Wasm to consume components of the existing desktop codebase as is. Some of the code dates back 35 years but now runs in the browser.
These highly complex applications couldn’t previously exist on the web. If they did, they ran with severe performance penalties compared with their desktop counterparts. Wasm is the architecture necessary to complete the web’s transition from document-oriented pages to a complete application platform. You can even play Doom 3!
Increasing Developer Choice
That situation has now been transformed. WebAssembly is a low-level format that other languages compile to. C, C++, C#, Java, Python, Rust, and many more besides are capable of outputting WebAssembly modules. This gives developers many more options when creating code for the web.
Facilitating Code Reuse
With Wasm, you can recompile your DLL using WebAssembly as the target. The same code becomes accessible in the browser. Wasm reduces waste and duplicate engineering by letting you use what you already have.
WebAssembly is easily dismissed as an obscure technology with little relevance to today’s web apps. Wasm is really targeting the web of tomorrow, where desktop-class apps will run with native performance.
Here, in 2021, WebAssembly adoption remains relatively low. Projects that use it have reported successes—you only need to try Figma or Google Earth to appreciate the Wasm performance standard. You’re likely to see more of Wasm over the next few years as apps, both new and old, are brought into the browser.