I’ve never been this excited about a new technology. WebAssembly is the real deal, and nobody is talking about it.
3D TV’s? Meh. Virtual Reality? Pfft.
The official webassembly website does a mediocre job of explaining why wasm is so amazing:
WebAssembly or wasm is a new portable, size- and load-time-efficient format suitable for compilation to the web.
That’s true, but it’s just part of the story.
The true power of wasm is that it will allow us to create applications that were once only possible on the desktop. Word processors. Complex simulations. Image editing software. Games.
And we’ll be able to easily port massive libraries of existing C and C++ apps to the web. As toolchains and the wasm spec evolve, apps built other languages like Java or Python will also be supported.
And wasm will work great with existing web technologies.
Pair WebAssembly with HTML5 Canvas as a video buffer, we’ll be able to display software-rendered graphical applications. Add WebGL2, we get modern GPU accelerated 3D graphics.
Mix in progressive web applications, and we have offline capability.
Add cloud storage and mobile devices, and we can take our apps anywhere.
What does this all mean?
- Everything will run in the web browser.
- Everyone will be able to publish complex native-quality apps to the web.
…and app stores will soon become as uncommon as boxed software stores in the mall.
I’ve made a bold prediction here. Now let’s talk about what wasm won’t do.
WebAssembly aims to execute at native speed by taking advantage of common hardware capabilities available on a wide range of platforms.
The key here is “common hardware capabilities”. It won’t provide us access the absolute fastest access to custom hardware platforms. It also might not be the best way to develop for low-cost embedded systems and the IOT.
Existing platforms such as game consoles won’t be pre-optimized for WebAssembly, but I predict that hardware like the PS5 and the XBox Two will be built to evolve with WebAssembly as it gains traction.
Wasm will solve the 90% use-case for business, consumer, and video-game applications. And that’s enough for me to be wildly excited about it.
BTW, I’m building some awesome sh** with WebAssembly and WebGL. Join my mailing list to be the first to learn more.
Please 💚 or follow if you learned something new today! It gives me great motivation to keep writing articles like this.
Here’s a followup story about how you can write wasm right now without downloading anything