# WebAssembly, the end of Javascript era?

[By\\
\\
Leo Daidone](/content/author/leo/index.html)

1. [Home](/content/site-root.html)
2. [Engineering Blog](/content/blog/index.html)
3. WebAssembly, the end of Javascript era?

I would say [WebAssembly](https://webassembly.org/) 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](https://isp.netscape.com/).

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:

- Go
- Rust
- C/C++
- C#/.Net
- Java
- Python
- Elixir
- [and more…](https://github.com/appcypher/awesome-wasm-langs#contents)

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!

### Next Post

#### Web Applications and ADA

[Read More](/content/2019/02/web-applications-and-ada/index.html)

**Tags:** [javascript](/content/post/tag/javascript/index.html), [trending](/content/post/tag/trending/index.html), [webassembly](/content/post/tag/webassembly/index.html)

**Categories:** [JavaScript](/content/post/category/javascript/index.html), [Programming](/content/post/category/programming/index.html)

### Comments

Disqus Recommendations

We were unable to load Disqus Recommendations. If you are a moderator please see our [troubleshooting guide](https://docs.disqus.com/help/83/).

❮

- 8 years ago
- 1 comment

Time to explore the nice file system abstraction from the League called FlySystem. …

- 10 years ago
- 1 comment

Remote PHP Debugging with Xdebug

- 7 years ago
- 1 comment

Edit PDF Form fields with PHP

- 7 years ago
- 3 comments

The future of jQuery

- 10 years ago
- 1 comment

Evolution of the PHP Language

- 9 years ago
- 3 comments

Setting up your environment and is a very important part of unit testing AngularJS …

- 8 years ago
- 4 comments

An overview and examples of debugging your PHP application with the use of …

- 9 years ago
- 3 comments

Creating a custom application with Angular CLI is easy and fun. …

❯

Disqus Comments

We were unable to load Disqus. If you are a moderator please see our [troubleshooting guide](https://docs.disqus.com/help/83/).

What do you think?

0 Responses

Upvote

Funny

Love

Surprised

Angry

Sad

G

Start the discussion…

Comment

###### Log in with

###### or sign up with Disqus  or pick a name

### Disqus is a discussion network

- Don't be a jerk or do anything illegal. Everything is easier that way.

[Read full terms and conditions](https://docs.disqus.com/kb/terms-and-policies/)

This comment platform is hosted by Disqus, Inc. I authorize Disqus and its affiliates to:

- Use, sell, and share my information to enable me to use its comment services and for marketing purposes, including cross-context behavioral advertising, as described in our [Terms of Service](https://help.disqus.com/customer/portal/articles/466260-terms-of-service) and [Privacy Policy](https://disqus.com/privacy-policy), including supplementing that information with other data about me, such as my browsing and location data.
- Contact me or enable others to contact me by email with offers for goods or services
- Process any sensitive personal information that I submit in a comment. See our [Privacy Policy](https://disqus.com/privacy-policy) for more information

Acknowledge I am 18 or older

- [Favorite this discussion](https://disqus.com/embed/comments/?base=default&f=arroyolabs&t_i=1990&t_u=https%3A%2F%2Fwww.arroyolabs.com%2F2019%2F01%2Fwebassembly-the-end-of-javascript-era%2F&t_d=WebAssembly%2C%20the%20end%20of%20Javascript%20era%3F&t_t=WebAssembly%2C%20the%20end%20of%20Javascript%20era%3F&s_o=default# "Favorite this discussion")

- ## Discussion Favorited!

Favoriting means this is a discussion worth sharing. It gets shared to your followers' Disqus feeds, and gives the creator kudos!

[Find More Discussions](https://disqus.com/home/?utm_source=disqus_embed&utm_content=recommend_btn)

[Share](https://disqus.com/embed/comments/?base=default&f=arroyolabs&t_i=1990&t_u=https%3A%2F%2Fwww.arroyolabs.com%2F2019%2F01%2Fwebassembly-the-end-of-javascript-era%2F&t_d=WebAssembly%2C%20the%20end%20of%20Javascript%20era%3F&t_t=WebAssembly%2C%20the%20end%20of%20Javascript%20era%3F&s_o=default#)

- Tweet this discussion
  - Share this discussion on Facebook
  - Share this discussion via email
  - Copy link to discussion

- [Best](https://disqus.com/embed/comments/?base=default&f=arroyolabs&t_i=1990&t_u=https%3A%2F%2Fwww.arroyolabs.com%2F2019%2F01%2Fwebassembly-the-end-of-javascript-era%2F&t_d=WebAssembly%2C%20the%20end%20of%20Javascript%20era%3F&t_t=WebAssembly%2C%20the%20end%20of%20Javascript%20era%3F&s_o=default#)
  - [Newest](https://disqus.com/embed/comments/?base=default&f=arroyolabs&t_i=1990&t_u=https%3A%2F%2Fwww.arroyolabs.com%2F2019%2F01%2Fwebassembly-the-end-of-javascript-era%2F&t_d=WebAssembly%2C%20the%20end%20of%20Javascript%20era%3F&t_t=WebAssembly%2C%20the%20end%20of%20Javascript%20era%3F&s_o=default#)
  - [Oldest](https://disqus.com/embed/comments/?base=default&f=arroyolabs&t_i=1990&t_u=https%3A%2F%2Fwww.arroyolabs.com%2F2019%2F01%2Fwebassembly-the-end-of-javascript-era%2F&t_d=WebAssembly%2C%20the%20end%20of%20Javascript%20era%3F&t_t=WebAssembly%2C%20the%20end%20of%20Javascript%20era%3F&s_o=default#)

Be the first to comment.

[Load more comments](https://disqus.com/embed/comments/?base=default&f=arroyolabs&t_i=1990&t_u=https%3A%2F%2Fwww.arroyolabs.com%2F2019%2F01%2Fwebassembly-the-end-of-javascript-era%2F&t_d=WebAssembly%2C%20the%20end%20of%20Javascript%20era%3F&t_t=WebAssembly%2C%20the%20end%20of%20Javascript%20era%3F&s_o=default#)

live.rezync.com

# live.rezync.com is blocked

This page has been blocked by an extension

- Try disabling your extensions.

ERR\_BLOCKED\_BY\_CLIENT

Reload

This page has been blocked by an extension

pippio.com

# pippio.com is blocked

This page has been blocked by an extension

- Try disabling your extensions.

ERR\_BLOCKED\_BY\_CLIENT

Reload

This page has been blocked by an extension

# See how we can help

Lets talk!

Contact Us

# Stay up to date on the latest technologies

Join our mailing list, we promise not to spam.

Email AddressJoin
