WebAssembly: A Very Brief History
WebAssembly’s website defines WebAssembly as the following:
WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine.
So what does that mean? In layman terms, WebAssembly is a new kind of code that can be compiled (ahead of time) down into a binary format that browsers can read. This means that high-level languages (C, C++, Rust, etc.) can be compiled down into a format that is legible to the browser. For developers that want to do some heavy computing on the web, this is a huge plus.
Not only is the binary compilation feature nice for high-level languages, it’s marketed as being fast. But various speed tests (Michael Bebenita, Winston Chen) have shown that it’s only faster in certain cases. This is definitely something to keep in mind if deciding to choose WebAssembly.
When it was first introduced in 2015, only a few browsers supported and were able to read WebAssembly’s format. Now, all major browsers (with the exception of IE 11, per usual) support WebAssembly. This acceptance by major browsers has been a major accomplishment for the WebAssembly team as well as proof of an inevitable development use case.
onClick functions that open a modal and other interactive features.
Currently, WebAssembly has demoed its ability to live on the web through Unity driven games. It also has a list of use cases where WebAssembly shines, in which most of these use cases are graphics heavy (games, augmented reality, VR, etc.).
The popularity of Java at this time heavily influenced Netscape’s decision to pursue a language that could run on the web that would create a full-blown application platform. Netscape was working on a deal with Sun Microsystems to put Java on the web at the same time that they contracted Brendan Eich to create a Scheme (generally a Lisp language) for the web. Java was/is a rather robust language for the type of users that would have been using it on the web at this time (amateurs, designers, etc.). Eich saw an opportunity to form a scripting language that was easier to grasp called Mocha.
In 1996, Macromedia acquired FutureSplash and re-branded it to Macromedia Flash. In 2005, Adobe acquired Macromedia. Flash was a fantastic tool for its time and had a strong hold on its market. However, Adobe has begun to favor HTML5 to solve the needs that Flash once did. Not only that, but in 2010 Apple restricted the use of Flash on its mobile devices due to poor performance. Inevitably, in 2017 Adobe announced that it will consider Flash end of life in 2020 and will cease support, distribution, and development of security updates.
Silverlight was a Microsoft competitor to Flash. It was created in 2007 and still exists today, however, the only browser that supports Silverlight is Internet Explorer 11. Firefox stopped supporting Silverlight in release 52 and Chrome stopped supporting it in 45. Edge, like ActiveX, was launched with no support for Silverlight. In addition, Silverlight has not been supported on mobile devices since 2015.
I don’t know. If I did, I would have a lot of money and would be writing Medium articles from my beach-side manor. But if I had to guess, I would say no.
Even WebAssembly’s FAQs states: