WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable target for compilation of high-level languages like C/C++/Rust, enabling deployment on the web for client and server applications.
Let’s recall the history of web development to better understand why we get here.
In autumn of year 1991, CERN physicist Berners-Lee wrote a memo proposing an Internet-based hypertext system, the HTML… okay maybe too far in the past.
WebAssembly is a small binary format that promises near-native performance for web applications. It can be defined as Abstract Syntax Tree (AST), that allows smaller app bundles.
But, why is it better? Beyond of performance, since it’s closer to machine code, it allows exciting new features like threads, SIMD (Single Instruction, Multiple Data), parallel processing pipelines, just to mention few.
WebAssembly fills the gaps created by slow performance of current web-client development.
Currently supported languages:
So, the same team could work on both UI and backend development using the same language they use on the back-end.
Because of the new feature, it potentially offers more developer friendly coding of games, Virtual Reality (VR) apps and Augmented Reality (AR) apps.
It’s the dawn of a bright and new web development era, but it’s still too early to adopt in my opinion. Said that I encourage all of you that want to experiment and contribute to the growth of this technology. The big players – Google, Apple, Microsoft and Firefox – are already including the support for WebAssembly. So it’s time to boldly go where no man has gone before…
Hope you enjoy reading!