An Introduction to WebAssembly

WebAssembly also called Wasm is a Web-optimized code format and API Application Programming Interface that can greatly improve the performances and capabilities of websites. Version 1.0 of WebAssembly was released in 2017 and became an official W3C standard in 2019.

The standard is actively supported by all major browser suppliers for obvious reasons the official list of inside the browser use cases mentions among other things video editing 3D games virtual and augmented reality p2p services and scientific simulations. Besides making browsers much more powerful than JavaScript could this standard may even extend the lifespan of websites for example it is WebAssembly that powers the continued support of Flash animations and games at the Internet Archive.

WebAssembly isnt just for browsers though it is currently being used in mobile and edge based environments with such products as Cloudflare Workers.

Files in .wasm format contain low level binary instructions bytecode executable at near CPU-native speed by a virtual machine that uses a common stack. The code is packaged in modules that is objects that are directly executable by a browser and each module can be instantiated multiple times by a web page. The functions defined inside modules are listed in one dedicated array or Table and the corresponding data are contained in another structure called arraybuffer. Developers can explicitly allocate memory for .wasm code with the Javascript WebAssembly.memory call.


Read Full Post

News Link:
RSS Link:

Linux Chatter is a news aggregator service that curates some of the best Linux, Cloud, Technical Guides, Hardware and Security news. We display just enough content from the original post to spark your interest. If you like the topic, then click on the 'read full post' button to visit the author's website. Use Linux Chatter to find content from amazing authors!

Note: The content provided has been modified and is not displayed as intended by the author. Any trademarks, copyrights and rights remain with the source.

Disclaimer: Linux Chatter sources content from RSS feeds and personal content submissions. The views and opinions expressed in these articles are those of the authors and do not necessarily reflect those of Linux Chatter.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.