In December, the World Wide Web Consortium (W3C) announced that the WebAssembly Core spec is now an official web standard, making WebAssembly the fourth language—along with HTML, CSS, and JavaScript—that can run natively in the browser.
So what is WebAssembly and why is it important? That’s what we’ll take a brief look at in this post.
What is WebAssembly?
In 2015, Mozilla announced that they were working with Chromium, Edge, and Webkit to create a new standard called WebAssembly. One of their key objectives was to define a portable and efficient binary format that could serve as a compilation target for the web, as well as for other environments.
This format was intended to help enable high-performance applications—including those working with video and audio codecs, games, virtual reality, and other computation-heavy tasks. But WebAssembly’s speed is only part of the story.
Why is it important?
One of the most important things about WebAssembly is how it was designed to be a compilation target for other languages.
WebAssembly is an official language of the browser, but this doesn’t mean web developers will be writing much WebAssembly code directly. Rather, it will serve as a compilation target for other languages. Developers can take libraries written in languages like C++ or Rust, compile them to WebAssembly, and make use of them on the web.
For instance, Colin Eberhardt recently wrote about how he created an augmented reality Sudoku solver using code from a variety of languages. The article was fascinating and worth checking out. And although the project was small in scope, it gave a good demonstration of how WebAssembly will broaden the range of options for those developing web applications. Existing codebases from all kinds of languages could be used, with developers choosing the best library for their specific use-case, regardless of the language it was written in.
Summary
WebAssembly isn’t going away anytime soon. It already has almost 90% support globally and is now an official W3C recommendation. It’s fast and will help with the creation of highly-performant applications. But just as important, it will also extend the number of languages and tools developers can use to build for the web.
For those interested in keeping up with the latest news in WebAssembly, check out the WebAssembly Weekly newsletter, by Colin Eberhardt.