WebAssembly, the end of Javascript era?

I would say WebAssembly is a complement to JavaScript.  It’s not only to power up JavaScript but also allows to use other languages, traditionally for the backend stuff, in the front-end.

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.

Back in time

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.

On December, 1995, Javascript was born at Netscape Communications.

Those days, cool developers used to program fancy apps with Java Applets, that requires users to have installed Java Web Start plugin. Javascript used to be underestimated since it was a slow scripting language, but it had a trick under its sleeves: direct access to the DOM.

Javascript was still slow causing performance issues on sites with heavy logic in the client, then around 2008 the Just In-time Compiler (JIT) arrived to convert Javascript as a mainstream language. But the performance was still a bottle neck.

What is WebAssembly?

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.

Why should I use it?

The first thing that comes to my mind is that you can pick a language different from JavaScript for your interactive UI.

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.

Conclusion

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!

Comments

See how we can help

Lets talk!

Stay up to date on the latest technologies

Join our mailing list, we promise not to spam.