Have you heard the news about WebAssembly? Google, Microsoft, Mozilla and others are teaming up for launching a new binary format for the web.
We at Usersnap took a closer look on what WebAssembly is and why it’s appearance and future development should matter to everyone! Even if you’re not a developer!
It will change the web. At least to some extent.
The web is based on many standards which is absolutely fine. And it makes the life of builders and creators easier. Imagine there wouldn’t be any rule, language, framework, concept on which we build websites and applications.
So, what the heck is WebAssembly?
WebAssembly is kind of a new byte code. WebAssembly – or short: “wasm” – is a new binary syntax for low-level safe code. It defines a “portable, size- and load-time-efficient format and execution model” designed to serve as a compilation target for the web.
This definitely means performance improvements in the browser. And it gives us access to a set of low-level building blocks, such as a range of types and operations.
And as Bjarne Stroustup stated:
JS will survive. “There are only two kinds of languages: the ones people complain about and the ones nobody uses.” Bjarne Stroustrup #js
— Eric Elliott (@_ericelliott) June 19, 2015
Or as Eric Elliott stated:” It may be useful not to think of WebAssembly as a language at all. It’s more like a machine”
From asm.js to WebAssembly?
It has some advantages over asm.js which involve mainly performance issues. According to the FAQ: “On mobile, large compiled codes can easily take 20-40s just to parse […] First experiments show that WebAssembly can be loaded more than 20 times faster because the work for parsing is minimal.”
What’s so great about this at all?
This could bring “app-like performance” to all web content and web apps. Sounds great, huh? 😉
Instead of having to parse the full code, which can often take quite a while, it can be decoded significantly faster.
Make sure to check out this talk by Brendan Eich:
Who’s already on it?
Google, Microsoft, and Mozilla are just a few names. Leading engineers have launched a WebAssembly Community Group with its mission to “promote early-stage cross-browser collaboration on new, portable […] format suitable for compilation on the web.”
However, it must be stated that work “has just begun”. So it’s pretty early-stage and it will definitely take some time until WebAssembly will become something like a well-known web standard.
Why it affects every web developer?
The W3C WebAssembly Community group named quite a few use cases for using WebAssembly and how it will make life easier for web developers. Here are just a few:
- Better execution of programming languages that are cross-compiled to the web
- for developer tooling inside the browser
- faster client for enterprise applications (e.g. databases)
Less code, better performance, less bugs?
According to the WebAssembly group, WebAssembly means less source code. Compared to asm.js it means a reduction of about 25% in code size. Though this is just a prototype and results vary.
So you’re probably wondering how to keep up-to-date on WebAssembly? I’d recommend the following useful WebAssembly resources:
- GitHub page of WebAssembly
- Design documentation of WebAssembly
- W3C WebAssembly Community Group
- What is WebAssembly by Eric Elliott
Update: Experimental Support for WebAssembly in V8
You can also turn on the WebAssembly feature under chrome://flags#enable-webassembly in Chrome Canary 51.0.2677.0 or greater. For further information, I recommend to check out this blog post announcing the experimental support for WebAssembly.
Update: One year after the initial release of WebAssembly
About one year ago (yep – it’s already been a year), WebAssembly was released to the public. A lot of things happened ever since and people started experimenting with WebAssembly. As we’ve been a keen observer of WebAssembly, we’re happy to see the progress which has been made. According to an official blog post, the WebAssembly initiative made the following progress:
- a description and rationale of the initial feature set and planned future features;
- a specification and reference interpreter;
- 13,000 lines of tests used to validate both the spec interpreter and browsers;
- a first draft of the binary format.
The progress seems promising and browsers are trying to offer early WebAssembly implementations in their browser engine. It’s now possible to build WebAssembly demos.
If you found this post interesting, follow us on twitter where we tweet about web development, web design and startups.
This article was brought to you by Usersnap – a visual bug tracking and screenshot tool for every web project.
Containerize your web development: How Docker is solving real world problems for web developers!
Working in web development? Well, then you’ve probably heard about Docker and its recent developments before. Many people call it hotter than hot. Docker containers can be a true productivity booster for your next web apps. As a web developer, it’s not that easy to understand the essence of it. This is why I’d like…
A beginner’s guide to deploying static sites with versioning and rollbacks using Flightplan
With the rise of cheap VPS (Virtual Private Server) services and the increase of complexity in the architecture of new web applications, deployment processes are becoming a very important topic and a skill to master to some extent. Long gone the days when we just needed a cheap hosting service and an FTP access to…
Fundamentals on setting up your bug reporting workflow
With all these emerging new devices – from mobile devices, to wearables, to VR, to smart devices – having a proper bug reporting workflow in place becomes quite a challenge. Building web applications in particular might seem quite painful due to the different screen sizes of the used devices. It can even be worse than…
A glimpse into the world of Usersnap’s desktop screens
Most of us work all day in front of a computer. Some rely on desktop computers, others use portable laptops. In any case, we’re sitting in front of our devices all day (and sometimes night) long. I thought it would be fun to give you some insights into how the Desktop home screens of our…
Building a new Chrome extension for capturing screens & bug reports
Two weeks ago, we announced a huge product update at Usersnap. Besides having the all new dashboard, we’ve also reimagined our Chrome extension. We’ve rebuilt the Chrome extension from the ground. Here’s how to be more productive while collecting website feedback & reporting bugs with our new Chrome extension and why you should definitely check…
Deconstructing User Testing
When interacting with our customers and blog readers, we usually find that everyone has a different set of ideas on proper user testing workflows. Blame it on the inconsistencies when it comes to the terminology of User Testing, Usability Testing or User Acceptance Testing. The need for clarification on this topic is certainly huge. In…