days
0
-11
0
hours
-1
0
minutes
-3
-3
seconds
-1
-1
search
Recommended by the World Wide Web Consortium

WebAssembly is now the fourth web standard language

Sarah Schlothauer
webassembly
© Shutterstock / Coffeemill

WebAssembly (Wasm) is now the fourth language to receive an official recommendation for the web by the World Web Consortium (W3C). It joins HTML, CSS, and JavaScript. Are we about to enter a new web era? Now that WebAssembly is officially a web standard, let us take a look at some of its use cases, end goals, and the W3C’s reasons for choosing it.

On December 5, The World Wide Web Consortium (W3C) announced that the WebAssembly Core Specification is now an official web standard. This makes WebAssembly the fourth language for the web, following HTML, CSS, and JavaScript.

W3C creates technical standards and infrastructure guidelines for the Web, under a dedicated vision of ‘One Web’. Their mission under the WebAssembly Working Group is to “standardize a size- and load-time-efficient format and execution environment, allowing compilation to the web with consistent behavior across a variety of implementations”.

According to Philippe Le Hégaret, W3C Project Lead: “The arrival of WebAssembly expands the range of applications that can be achieved by simply using Open Web Platform technologies. In a world where machine learning and Artificial Intelligence become more and more common, it is important to enable high performance applications on the Web, without compromising the safety of the users.”

What is WebAssembly?

WebAssembly (often abbreviated as Wasm) is “a binary instruction format for a stack-based virtual machine” and is a portable target for compilation of languages such as C, C++, and Rust. It runs on a large number of platforms and is part of the open web platform with versionless backward-compatibility.

While it has other purposes and a scope beside the Web, running on the web is one of the Wasm platform’s largest purpose. Inside of the browser, its common use cases include image and video editing, execution for languages and toolkits, P2P applications, remote desktops, video augmentation, and more.

Safety is one of its goals when embedded in the Web. Wasm’s security model includes safety goals for both developers and users, ensuring safe applications and protection from malicious code. Its security model mirrors JavaScript’s.

According to W3C:

At its core, WebAssembly is a virtual instruction set architecture that enables high-performance applications on the Web, and can be employed in many other environments. There are multiple implementations of WebAssembly, including browsers and stand-alone systems. WebAssembly can be used for applications like video and audio codecs, graphics and 3D, multi-media and games, cryptographic computations or portable language implementations.

Its high-level goals describe the scope of its vision and is a good place to get started to see what it’s all about.

SEE ALSO: 5 alternatives to JavaScript for front-end development

Improving web performance

W3C recommends WebAssembly for speedier response time, faster loading, and efficient code. According to their press release, Wasm enhances both web performance and power consumption. It allows for code written in multiple languages to run natively at near-native speeds.

The W3C press release states:

WebAssembly improves Web performance and power consumption by being a virtual machine and execution environment enabling loaded pages to run as native compiled code. In other words, WebAssembly enables near-native performance, optimized load time, and perhaps most importantly, a compilation target for existing code bases.

Despite a small number of native types, much of the performance increase relative to JavaScript derives from its use of consistent typing. WebAssembly leverages decades of optimization for compiled languages and its byte code is optimized for compactness and streaming. A web page can start executing while the rest of the code downloads. Network and API access occurs through accompanying JavaScript libraries. The security model is identical to that of JavaScript.

A new web?

Over the past few years, frontend development has gone through a major shift and become more application-focused. The dynamics of the web are changing and will continue to change. Does this news mean that WebAssembly will replace JavaScript, CSS, or HTML?

SEE ALSO: Why JavaScript is so essential to modern development

Future versions of Wasm are already well on their way. The future roadmap including the addition of threading, fixed-width SIMD, reference types, tail calls, and ECMA Script module integration. Additional future releases will improve Wasm’s usability and availability.

Thus, it stands to reason that we will see a lot more of WebAssembly in the future. It may not outright take the place of JavaScript or HTML, but Wasm is likely here to stay.

Author
Sarah Schlothauer

Sarah Schlothauer

All Posts by Sarah Schlothauer

Sarah Schlothauer is an assistant editor for JAXenter.com. She received her Bachelor's degree from Monmouth University and is currently enrolled at Goethe University in Frankfurt, Germany where she is working on her Masters. She lives in Frankfurt with her husband and cat. She is also the editor for Conditio Humana, an online magazine about ethics, AI, and technology.

Leave a Reply

Be the First to Comment!